前言
本文主要是講述centos環境下安裝docker的相關步驟,其中centos的版本為CentOS Linux release 7.4.1708 (Core),安裝的docker為目前最新的版本Docker version 18.03.0-ce, build 0520e24。
較老版本的centos對于docker的支持并不是很好,建議安裝時直接采用最新的軟件版本。
為了安裝最新版本的docker,我們需要配置docker的安裝源,在沒有安裝源之前,請不要通過yum來安裝docker。
系統環境要求
部分系統自帶了一個版本較老的docker環境,因此,可以通過以下的命令刪除原本系統中所帶的docker。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
由于我所使用的是一個干凈的centos,因此系統上面沒有這些安裝包。如果之前安裝過的話,會有一些相關的數據信息在/var/lib/docker,新裝版本也可以將該目錄的數據刪除。
安裝docker
- 更新docker倉庫
通過如下命令,可以修改最新穩定版本的docker倉庫。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#這個源也可以從國內下載
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
國外的源非常慢,也可以使用國內的源來進行下載
例如使用阿里的源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
在實際的環境中,通常是希望使用穩定版本,可以手動關閉edge和test版本的獲取,防止誤操作
sudo yum-config-manager --disable docker-ce-edge
sudo yum-config-manager --disable docker-ce-test
更新源信息
sudo yum makecache fast
安裝最新版本的docker
sudo yum -y install docker-ce
可以通過如下的命令查看其它版本的docker
yum list docker-ce --showduplicates | sort -r
為了指定安裝的docker的具體版本,可以執行如下的命令
yum -y install <FULLY-QUALIFIED-PACKAGE-NAME>
例如目前源內的有以下的包,可以通過如下的命令進行安裝
[root@localhost yum.repos.d]# yum list docker-ce --showduplicates | sort -r
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
已加載插件:fastestmirror
已安裝的軟件包
可安裝的軟件包
Loading mirror speeds from cached hostfile
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos @docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
[root@localhost yum.repos.d]# yum install -y docker-ce-17.09.0.ce
啟動docker并將其設置為自啟動
systemctl start docker
systemctl enable docker
修改鏡像的存儲位置
docker容器和鏡像默認存放在/var/lib/docker目錄下,如果如果尚未啟動過,該文件夾應該為空。如果啟動過,可以通過如下的步驟進行遷移。
修改/etc/systemd/system/multi-user.target.wants/docker.service文件,找到文件中的如下內容,添加粗體字體表示的部分
ExecStart=/usr/bin/dockerd --graph=/data/docker
ExecReload=/bin/kill -s HUP $MAINPID
新的存放路徑將在/data/docker目錄下,拷貝現有的相關數據
cp -r /var/lib/docker /data/
重啟docker服務
systemctl daemon-reload
systemctl restart docker
國內的鏡像源比較慢,可以將鏡像源修改為本地的源。安裝較新的版本之后,docker提供了一種新的配置方式,直接增加一個配置文件
vim /etc/docker/daemon.json
文件內容如下
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
修改之后,需要重啟docker。
收集的鏡像源有:
https://docker.mirrors.ustc.edu.cn
https://mirror.ccs.tencentyun.com(騰訊云,只能騰訊云內網使用)
修改網橋ip
如果對于docker網橋的ip,可以直接修改/etc/docker/daemon.json文件,例如需要將網橋的ip進行修改
{
"bip": "192.168.0.1/24"
}
配置之后需要進行如下的操作配置
systemctl stop docker
ip link set dev docker0 down
brctl delbr docker0
systemctl start docker
經過如上的操作之后,可以通過如下的命令查看容器中的ip信息
docker inspect --format='{{.NetworkSettings.IPAddress}}' ID/NAMES
參考文檔
docker ce安裝的官方文檔:https://docs.docker.com/engine/installation/linux/docker-ce/centos/