Docker环境安装与配置

Docker分为CE和EE两大版本。CE即社区版(免费,支持周期 7 个月),EE即企业版,强调安全,付费使用,支持周期24个月。

Docker CE分为stabletestnightly三个更新频道。

安装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.
posted @ 2020-09-28 13:52  Freedom2887  阅读(94)  评论(0)    收藏  举报