Docker

Docker必須安裝在CentOS7 64位機器上。

1 卸載老版本Docker

Docker老版本,docker-engine。Docker進入17.x版本后,名稱發(fā)生了變化,叫做docker-ce或者docker-ee。

sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
執(zhí)行該命令只會卸載Docker本身,而不會刪除Docker內(nèi)容,例如鏡像、容器、卷以及網(wǎng)絡。這些文件保存在/var/lib/docker 目錄中,需要手動刪除。

2 安裝倉庫

(1) 安裝yum-utils ,這樣我們就能使用yum-config-manager 設置Yum源。

(2) 執(zhí)行以下命令,添加Yum源

sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo

(3) 【可選】執(zhí)行以下命令,啟用“edge”倉庫。edge倉庫其實也包含在了docker.repo文件中了,但默認是禁用的,我們可使用以下命令啟用edge倉庫。

sudo yum-config-manager --enable docker-ce-edge

如果想要再次禁用edge倉庫,可執(zhí)行以下命令。

sudo yum-config-manager --disable docker-ce-edge

Docker有兩種構建方式,Stable(穩(wěn)定)構建一般是一個季度發(fā)布一次;Edge(邊緣)構建一般是一個月發(fā)布一次。

3 安裝Docker
做好以上準備后,就可以正式安裝Docker了。
(1) 執(zhí)行以下命令更新Yum的包索引

sudo yum makecache fast

(2) 安裝你想要的Docker版本(CE/EE)
Docker CE
sudo yum install docker-ce

Docker EE
sudo yum install docker-ee

(3) 在生產(chǎn)環(huán)境中,我們可能需要指定想要安裝的版本??墒褂靡韵旅盍谐霎斍翱捎玫腄ocker版本。

yum list docker-ce.x86_64 --showduplicates |sort -r

(4) 啟動Docker

sudo systemctl start docker

(5) 驗證安裝是否正確

sudo docker run hello-world

這樣,Docker將會下載測試鏡像,并使用該鏡像啟動一個容器。

升級Docker
升級Docker非常簡單
(1) 執(zhí)行以下命令

sudo yum makecache fast

(2) 按照安裝的步驟,即可升級Docker。

Docker Compose

curl -L https://github.com/docker/compose/releases/download/$dockerComposeVersion/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

[wsun@localhost docker-1-simple]$ sudo /usr/local/bin/docker-compose up
Creating network "docker1simple_default" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-a4a4ebd5d945 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))
[wsun@localhost docker-1-simple]$ sudo /usr/local/bin/docker-compose up
Creating network "docker1simple_default" with the default driver
ERROR: Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-7abd83608f56 -j DOCKER: iptables v1.4.21: Couldn't load target `DOCKER':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
 (exit status 2

sudo ip link delete docker0
sudo systemctl restart docker

進入容器:
[wsun@localhost ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fb9c5812aedb kibana "/docker-entrypoin..." 2 days ago Up 41 minutes 0.0.0.0:5601->5601/tcp elk_kibana_1
68658b7a5749 elasticsearch "/docker-entrypoin..." 2 days ago Up 41 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elk_elasticsearch_1
75a23f03e621 logstash "/docker-entrypoin..." 2 days ago Up 41 minutes 0.0.0.0:5000->5000/tcp elk_logstash_1
[wsun@localhost ~]$ sudo docker inspect --format "{{.State.Pid}}" 75a23f03e621
4327
[wsun@localhost ~]$ sudo nsenter --target 4327 --mount --uts --ipc --net --pid
root@75a23f03e621:/#

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容