前言
本文主要是讲述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/