Docker环境安装与配置
Docker分为CE和EE两大版本。CE即社区版(免费,支持周期 7 个月),EE即企业版,强调安全,付费使用,支持周期24个月。
Docker CE分为stable、test和nightly三个更新频道。
安装Docker
操作系统使用CentOS 7.6,镜像源使用阿里开源镜像站
卸载可能存在的旧版本docker
yum -y remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
加载阿里开源镜像站的centos源和docker-ce源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all && yum makecache
安装必要的系统工具
yum -y install yum-utils device-mapper-persistent-data lvm2
确认docker-ce版本并安装
yum list docker-ce --showduplicates |sort -r
yum -y install docker-ce-19.03.9-3.el7
systemctl enable docker && systemctl restart docker
配置镜像加速器
国内访问DockerHub下载镜像的速度较慢,使用国内的镜像对其进行加速。配置镜像加速器需要编辑/etc/docker/daemon.json,如果没有需要手动创建
推荐使用:
- 阿里镜像加速:
https://6a31m1s8.mirror.aliyuncs.com - 中科大镜像加速:
https://docker.mirrors.ustc.edu.cn
cat >> /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://6a31m1s8.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload && systemctl restart docker
执行docker info,确认Registry Mirrors字段配置已更新
[root@docker ~]# docker info
...
Registry Mirrors:
https://6a31m1s8.mirror.aliyuncs.com/
配置普通用户使用Docker
用户需要使用Docker提供的Unix socket与Docker引擎通讯。而默认情况下,只有root用户和docker组的用户才可以访问Docker的Unix socket。出于安全考虑,一般Linux系统上不会直接使用root用户。因此,更好地做法是将需要使用docker的用户加入docker用户组。
创建docker组
groupadd docker
将用户添加到docker组
usermod -aG docker $USER
修改内核参数
如果在执行docker info时发现以下告警信息
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
需要添加内核配置参数以启用这些功能
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
sysctl -p
开启实验特性
一些docker命令或功能仅当实验特性开启时才能使用,具体开启方法如下。
开启Docker CLI的实验特性
编辑~/.docker/config.json文件(如果没有该文件需要手动创建),新增如下字段
{
"experimental": "enabled"
}
保存退出后立即生效,执行docker --help会发现多了一些可用命令
开启Dockerd的实验特性
编辑/etc/docker/daemon.json,新增如下字段(该文件需要严格遵守json语法格式,如果出现格式错误Docker重启会失败)
{
"experimental": true
}
如果之前已经添加了镜像加速器,按照json语法应当改写成以下形式(注意逗号)
{
"registry-mirrors": ["https://6a31m1s8.mirror.aliyuncs.com"],
"experimental": true
}
(附Docker重启失败报错)
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

浙公网安备 33010602011771号