1. 程式人生 > >Docker系列教程01-Centos7安裝新版Docker教程(10步)

Docker系列教程01-Centos7安裝新版Docker教程(10步)

  • 最近一直忙於開發,沒有時間好好總結一下docker的知識。其實現在docker的教程已經很多很多了,但是很多系統的教程都是基於Ubuntu系統,因為官方推薦使用Ubuntu系統啊,原因在於Ubuntu有Union FS 這類儲存系統,而Centos並沒有,只能使用塊裝置的一些機制(如 snapshot )進行模擬,如 devicemapper。所以我想寫一個關於Centos上使用並部署的Docker的系列文章,希望能幫助大家學習。

  • Docker 版本號在 2017 年以前,使用 <大版本號>.<小版本號>.<補丁版本號> 的結構,那時 Docker 基本會保持 3 個小版本號 之內的相容性(如果一個特性宣佈廢棄,一般會在 3 個版本後才徹底移除)。而從 2017 年春以後,Docker 使用了新版本號結構:<年>.<月>.<補丁版本號>,並且將每月釋出一個前沿(Edge)版本,每季度釋出一個穩定(Stable)版本。因此選擇書籍也應該以介紹 2-3個季度以內版本 的書籍為準。那些介紹一年以前釋出的 Docker 版本的書籍不應該再看了

  • 很多人問到 docker, docker.io, docker-engine 甚至 lxc-docker 都有什麼區別?其中,RHEL/CentOS 軟體源中的 Docker 包名為 docker;Ubuntu 軟體源中的 Docker 包名為 docker.io;而很古老的 Docker 源中 Docker 也曾叫做 lxc-docker。這些都是非常老舊的 Docker 版本,並且基本不會更新到最新的版本,而對於使用 Docker 而言,使用最新版本非常重要。另外,17.04 以後,包名從 docker-engine 改為 docker-ce,因此從現在開始安裝,應該都使用 docker-ce 這個包。


##新版docker安裝方式:

1,刪除舊的docker
sudo yum -y remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine
將保留 /var/lib/docker/ 的內容,包括映象、容器、儲存卷和網路。Docker CE 軟體包現在稱為 docker-ce


2,安裝所需的軟體包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2


3,配置軟體源,使用下列命令設定 stable 映象倉庫
sudo yum-config-manager \
     --add-repo \
     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


4,更新 yum 軟體包索引
sudo yum makecache fast


5,安裝最新版本的 Docker CE
sudo yum -y install docker-ce


6,在生產系統中,您應該安裝特定版本的 Docker CE,而不是始終使用最新版本,以下命令可以幫你檢視所有穩定版本
yum list docker-ce.x86_64  --showduplicates | sort -r
sudo yum install docker-ce-<VERSION>


7,啟動 Docker。
sudo systemctl start docker


8,將使用者新增至docker組

sudo usermod -aG docker $USER

退出、重新登入系統後,執行 docker info 看一下,就會發現可以不用 sudo 直接執行 docker 命令了。

9,配置加速器
sudo systemctl enable docker
sudo vi /etc/systemd/system/multi-user.target.wants/docker.service
在ExecStart=/usr/bin/dockerd加上:

--registry-mirror=https://your aliyun mirror url.mirror.aliyuncs.com 

上面換上你自己的阿里雲免費加速器,如何獲取自行百度

然後重啟docker

sudo systemctl daemon-reload
sudo systemctl restart docker

確認一下配置是否已經生效:
sudo ps -ef | grep dockerd
root     18556     1  2 19:45 ?        00:00:00 /usr/bin/dockerd --registry-mirror=https://your aliyun mirror url.mirror.aliyuncs.com
cmc      18676 18205  0 19:45 pts/1    00:00:00 grep --color=auto dockerd

生效後可以看到自己配置的加速器,如我標註的紅色字體表示已經生效。

10,驗證是否正確安裝了 docker,方法是執行 hello-world 映象。

sudo docker run hello-world