欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:eureka Docker

柚子快報邀請碼778899分享:eureka Docker

http://yzkb.51969.com/

目錄

docker原理

Docker如何解決不同系統(tǒng)環(huán)境的問題?

?鏡像:

容器:

Docker結構:

DockerHub:

Linux下載docker

第一步:卸載原來的docker(如果之前沒有就不卸載)

?第二步:安裝yum工具

第三步:更新本地鏡像源

第四步:輸入命令安裝docker-ce

啟動docker

第一步:關閉防火墻

第二步:啟動docker

配置鏡像源加速

第一步:創(chuàng)建docker目錄

第二步:在docker目錄下創(chuàng)建daemon.json文件

第三步:加載daemon.json文件

操作docker鏡像

1.查看docker的鏡像

2.拉取鏡像

3.把鏡像打包成文件

4.刪除鏡像

5.從文件中加載鏡像

示例

操作docker容器

創(chuàng)建并運行一個容器

?進入容器執(zhí)行操作

查看運行中的容器

查看所有的容器,包括停止的容器

暫停容器運行

?取消暫停容器

停止容器

從靜止到啟動容器

刪除容器

查看容器日志的命令

示例:?

在docker啟動redis

?數據卷

創(chuàng)建數據卷

查看所有數據卷

查看數據卷詳細信息卷?

刪除數據卷

?示例

掛載數據卷

查看數據卷指向的宿主機目錄

直接掛載宿主機目錄

我們這里使用mysql來舉例

第一步:關閉當前虛擬機正在運行的mysql,并設置開機不會自動啟動

第二步:拉取mysql

第三步:創(chuàng)建要直接掛載的目錄

第四步:創(chuàng)建容器并啟動

?編輯?第五步:測試連接

DockerCompose

下載dockercompse

修改文件權限?,增加執(zhí)行權限

增加Base自動補全命令

根據compose來創(chuàng)建并運行容器

注意:我們需要把正在運行的容器都刪除

切換到y(tǒng)ml文件所在目錄

?批量構建容器并啟動

docker原理

Docker如何解決不同系統(tǒng)環(huán)境的問題?

1.Docker將某個軟件的函數庫 依賴以及配置文件進行打包

2.Docker將當前軟件與所需要調用的系統(tǒng)(比如Ubuntu)函數庫一起打包3.Docker運行到不同操作系統(tǒng)時,直接基于打包的庫函數,借助于操作系統(tǒng)的Linux內核來運行

?鏡像:

Docker將應用程序以及所需的依賴,函數庫,環(huán)境,配置等文件打包在一起,稱之為鏡像

容器:

鏡像中的應用程序運行后形成的進程就是容器,只是Docker會對容器進行隔離,對外不可見

一個鏡像可以有多個容器

Docker結構:

Docker為cs結構

服務端:接受命令或者遠程請求,操作鏡像或容器客戶端:發(fā)送命令或者請求到Docker服務端?

DockerHub:

一個鏡像托管的服務器,這些服務器統(tǒng)稱為DockerRegistry

Linux下載docker

第一步:卸載原來的docker(如果之前沒有就不卸載)

yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine \

docker-ce

?第二步:安裝yum工具

yum install -y yum-utils \

device-mapper-persistent-data \

lvm2 --skip-broken

第三步:更新本地鏡像源

# 設置docker鏡像源

yum-config-manager \

--add-repo \

https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 添加docker鏡像相關依賴

sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

# 刷新緩存

yum makecache fast

第四步:輸入命令安裝docker-ce

yum install -y docker-ce

啟動docker

第一步:關閉防火墻

# 關閉

systemctl stop firewalld

# 禁止開機啟動防火墻

systemctl disable firewalld

第二步:啟動docker

systemctl start docker # 啟動docker服務

systemctl stop docker # 停止docker服務

systemctl restart docker # 重啟docker服務

systemctl status docker # 檢查docker狀態(tài)

systemctl enable docker # 設置docker服務開機自啟

docker -v #查看docker版本

配置鏡像源加速

第一步:創(chuàng)建docker目錄

sudo mkdir -p /etc/docker

第二步:在docker目錄下創(chuàng)建daemon.json文件

cd /etc/docker

vim daemon.json

在寫文件中寫:?

{

"registry-mirrors": [

"https://registry.docker-cn.com",

"https://docker.mirrors.ustc.edu.cn",

"https://hub-mirror.c.163.com",

"https://hub.uuuadc.top",

"https://docker.anyhub.us.kg",

"https://dockerhub.jobcher.com",

"https://dockerhub.icu",

"https://docker.ckyl.me",

"https://docker.awsl9527.cn",

"https://mirror.baidubce.com"

]

}

第三步:加載daemon.json文件

sudo systemctl daemon-reload

sudo systemctl restart docker

操作docker鏡像

1.查看docker的鏡像

docker images

2.拉取鏡像

docker pull 鏡像名:tag #不寫tag默認是latest

3.把鏡像打包成文件

docker save -o 文件名.tar 鏡像名:tag #不寫tag默認是latest

4.刪除鏡像

docker rmi 鏡像名:tag #不寫tag默認是latest

5.從文件中加載鏡像

docker load -i 文件名.tar

示例

[root@localhost soft]# docker pull redis #拉取redis最新版本

[root@localhost docker]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx latest 5ef79149e0ec 3 days ago 188MB

redis latest dae83f665c92 2 weeks ago 117MB

[root@localhost soft]# docker save -o redis.tar redis:latest #打包

[root@localhost soft]# docker rmi redis #刪除redis鏡像

[root@localhost soft]# docker load -i redis.tar #加載redis鏡像

操作docker容器

docker ps ?#查看所有運行中的容器以及其狀態(tài)

創(chuàng)建并運行一個容器

docker run --name containName -p 80:80 -d nginx

?docker run :創(chuàng)建并允許一個容器

--name:給容器起一個名字

-p:將宿主機端口號(Linux)于容器端口映射,冒號左邊是宿主機端口號(外部通過這個端口號來訪問),冒號右側是容器端口

-d:后臺運行容器

nginx:鏡像名

[root@localhost soft]# docker ps #查看所有運行中的容器以及其狀態(tài)

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

[root@localhost soft]# docker images #查看所有鏡像

REPOSITORY TAG IMAGE ID CREATED SIZE

nginx latest 5ef79149e0ec 3 days ago 188MB

redis latest dae83f665c92 2 weeks ago 117MB

[root@localhost soft]# docker run --name mng -p 80:80 -d nginx:latest

48b3e6fed1278bda5bbc7dde5843fd9f25dfff8acb5dff07720d4e881a2ec72c

[root@localhost soft]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48b3e6fed127 nginx:latest "/docker-entrypoint.…" 10 seconds ago Up 9 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp mng

?進入容器執(zhí)行操作

docker exec -it mng bash

docker exec:進入容器內步,執(zhí)行一個目錄

-it : 給當前進入的容器創(chuàng)建一個標準輸入,輸出終端,允許我們于容器交互

mng:要進入的容器的名字

bash:進入容器執(zhí)行的命令,bash是一個linux終端交互命令,即可以在容器內部使用linux部分命令

使用eixt命令退出容器?

查看運行中的容器

docker ps

查看所有的容器,包括停止的容器

docker ps -a

暫停容器運行

docker pause 容器名

?取消暫停容器

docker unpause 容器名

停止容器

docker stop 容器名

從靜止到啟動容器

docker start 容器名

刪除容器

docker rm 容器名 #只能刪除停止運行的容器,不能刪除運行中的容器

docker rm -f 容器名 #可以刪除運行中的容器

查看容器日志的命令

docker logs 容器名

docker logs -f 容器名 #持續(xù)查看容器日志

示例:?

[root@localhost soft]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48b3e6fed127 nginx:latest "/docker-entrypoint.…" 10 seconds ago Up 9 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp mng

[root@localhost soft]# docker pause mng

mng

[root@localhost soft]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48b3e6fed127 nginx:latest "/docker-entrypoint.…" 14 minutes ago Up 14 minutes (Paused) 0.0.0.0:80->80/tcp, :::80->80/tcp mng

[root@localhost soft]# docker unpause mng

mng

[root@localhost soft]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48b3e6fed127 nginx:latest "/docker-entrypoint.…" 14 minutes ago Up 14 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp mng

[root@localhost soft]# docker stop mng

mng

[root@localhost soft]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

[root@localhost soft]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48b3e6fed127 nginx:latest "/docker-entrypoint.…" 16 minutes ago Exited (137) 46 seconds ago mng

[root@localhost soft]# docker start mng

mng

[root@localhost soft]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

48b3e6fed127 nginx:latest "/docker-entrypoint.…" 16 minutes ago Up 20 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp mng

在docker啟動redis

docker run --name re -p 6379:6379 -d redis redis-server --appendonly yes

redis-server 啟動server

--appendonly yes:使用AOF持久化數據

?數據卷

數據卷是一個虛擬目錄,指向宿主機文件系統(tǒng)中的某個目錄

數據卷可以關聯(lián)者宿主機文件和多個容器的文件

這樣一來可以通過改變宿主機文件內容來修改 多個容器內文件的內容

作用:將容器與數據分離,解耦合,方便操作容器內數據,保證數據安全

創(chuàng)建數據卷

docker volume create html(數據卷名)

查看所有數據卷

docker volume ls

查看數據卷詳細信息卷?

docker volume inspect html

刪除數據卷

docker volume rm html

?示例

[root@localhost soft]# docker volume create html

html

[root@localhost soft]# docker volume ls

DRIVER VOLUME NAME

local 8cde3122c90e52a272b60ca9e264aebe7e0e94ac3f387adff7c32cd252a20551

local 084fcc577a0a264d73b1b5db87ec9cf4dbb10fd5247ddc2b4a7cbd76a12edabd

local 07188ec000d9c50f2a7e4b386a8a4964841e4aa43eecd752bc88ffb827cf9049

local html

[root@localhost soft]# docker volume inspect html

[

{

"CreatedAt": "2024-08-18T17:02:02+08:00",

"Driver": "local",

"Labels": null,

"Mountpoint": "/var/lib/docker/volumes/html/_data", #指向的宿主機目錄,里面沒有內容

"Name": "html",

"Options": null,

"Scope": "local"

}

]

掛載數據卷

docker run --name ng -p 80:80 -v html:/usr/share/nginx/html -d nginx

-v html:/usr/share/nginx/html

-v為掛載數據卷的參數,html是要掛載數據卷的名字,/usr/share/nginx/html是容器中html文件的目錄,這樣一來容器中html文件就與數據卷相互綁定

注意:如果沒有html這個數據卷,這個數據卷會自己創(chuàng)建出來

查看數據卷指向的宿主機目錄

[root@localhost _data]# docker volume inspect html

[

{

"CreatedAt": "2024-08-18T17:02:02+08:00",

"Driver": "local",

"Labels": null,

"Mountpoint": "/var/lib/docker/volumes/html/_data",

"Name": "html",

"Options": null,

"Scope": "local"

}

]

[root@localhost _data]# cd /var/lib/docker/volumes/html/_data

[root@localhost _data]# ll

總用量 8

-rw-r--r--. 1 root root 497 8月 12 22:21 50x.html

-rw-r--r--. 1 root root 632 8月 18 17:25 index.html

?我們可以發(fā)現原來數據卷指向目錄的內容增加了,說明已經把容器內html文件映射到宿主機的這個目錄當中了,接下來我們就可以自行修改index.html頁面的內容

?成功修改

直接掛載宿主機目錄

容器不僅僅可以掛載數據卷,也可以直接掛載到宿主機目錄上

關聯(lián)的關系如下:

1.帶數據卷模式:宿主機目錄->數據卷->容器內目錄

2.直接掛載模式:宿主機目錄->容器內目錄

我們這里使用mysql來舉例

第一步:關閉當前虛擬機正在運行的mysql,并設置開機不會自動啟動

[root@localhost volumes]# systemctl stop mysqld

[root@localhost volumes]# systemctl disable mysqld

Removed symlink /etc/systemd/system/multi-user.target.wants/mysqld.service.

[root@localhost volumes]# systemctl status mysqld

● mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)

Active: inactive (dead)

Docs: man:mysqld(8)

http://dev.mysql.com/doc/refman/en/using-systemd.html

8月 18 15:18:00 localhost.localdomain systemd[1]: Starting MySQL Server...

8月 18 15:18:12 localhost.localdomain systemd[1]: Started MySQL Server.

8月 18 17:44:47 localhost.localdomain systemd[1]: Stopping MySQL Server...

8月 18 17:44:49 localhost.localdomain systemd[1]: Stopped MySQL Server.

第二步:拉取mysql

docker pull mysql:5.7.25

?

第三步:創(chuàng)建要直接掛載的目錄

mkdir -p /tmp/mysql/data

第四步:創(chuàng)建容器并啟動

docker run --restart=always -p 3306:3306 --name mysql -v /tmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql:5.7.25

說明:

1.--restart=always 表示當Docker重啟時,當前mysql容器總是重啟容器.如果不加,docker重啟,mysql不會重啟

2.-p 3306:3306 :port ,冒號前面的表示宿主機的端口號,冒號右邊的表示mysql容器端口號

3.--name mysql 表示當前的容器名

4.-v /tmp/mysql/data:/var/lib/mysql

1)-v [宿主機目錄]:[容器內目錄]

2)/tmp/mysql/data 表示宿主機目錄

3)/var/lib/mysql 表示data在容器中的位置,這個目錄是通過dockerhub官方查看的

?第五步:測試連接

mysql -h192.168.230.100 -P3306 -uroot -p1234

DockerCompose

DockerCompose可以基于Compose文件幫我們快速部署分布式應用,而無需一個個創(chuàng)建和運行容器

Compose文件是一個文本文件,通過指令定義集群中每個容器如何運行

下載dockercompse

curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

修改文件權限?,增加執(zhí)行權限

chmod +x /usr/local/bin/docker-compose

增加Base自動補全命令

1.需要修改自己的hosts文件:

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

2.補全命令

curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

# 查看系統(tǒng)中是否已經包含命令補齊腳本

ls /usr/share/bash-completion/completions/docker*

# 下載自動補齊工具

yum -y install bash-completion

# 讓自動補齊功能生效

source /usr/share/bash-completion/completions/docker

source /usr/share/bash-completion/bash_completion

根據compose來創(chuàng)建并運行容器

現在有一個compose-docker文件夾

yml文件內容

myweb-service文件夾是自己創(chuàng)建的鏡像

?Dockerfile文件,這是讓這個jar包生成鏡像的

注意:我們需要把正在運行的容器都刪除

[root@localhost docker-compose]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

d545413832e7 mysql:5.7.25 "docker-entrypoint.s…" 4 hours ago Up 34 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql

06db946465df redis "docker-entrypoint.s…" 5 hours ago Exited (0) 3 hours ago re

[root@localhost docker-compose]# docker rm -f mysql re

mysql

re

[root@localhost docker-compose]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

切換到y(tǒng)ml文件所在目錄

[root@localhost tmp]# cd docker-compose/

[root@localhost docker-compose]# pwd

/tmp/docker-compose

[root@localhost docker-compose]# ll

總用量 4

-rw-r--r--. 1 root root 434 8月 18 21:35 docker-compose.yml

drwxr-xr-x. 2 root root 39 8月 18 21:35 myweb-service

[root@localhost docker-compose]#

?批量構建容器并啟動

docker-compose up -d

up 表示創(chuàng)建并允許容器

-d 表示在后臺運行?

[root@localhost docker-compose]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

5a676401d482 myweb:3.0 "/bin/sh -c 'java -j…" 13 seconds ago Up 11 seconds 0.0.0.0:8082->8090/tcp, :::8082->8090/tcp myweb_container

7c7382af3ce0 mysql:5.7.25 "docker-entrypoint.s…" 13 seconds ago Up 11 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql_container

生成了myweb鏡像

[root@localhost data]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

myweb 3.0 765afd42f281 25 minutes ago 552MB

nginx latest 5ef79149e0ec 3 days ago 188MB

tomcat latest 70dd81c409f9 11 days ago 461MB

redis latest dae83f665c92 2 weeks ago 117MB

mysql 5.7.25 98455b9624a9 5 years ago 372MB

柚子快報邀請碼778899分享:eureka Docker

http://yzkb.51969.com/

參考文章

評論可見,查看隱藏內容

本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19481358.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄