Docker的持续集成、版本控制、可移植性、隔离性和安全性等使之越来越备受喜爱。 写下本文,记录自己安装docker的过程。 参考官方文档:Get Docker Engine - Community for CentOS
安装前准备
CE版与EE版的选择
- ce 社区版
- ee 企业版
这篇文章是记录Docker-CE安装的。如果想要安装Docker-EE,则去掉Get Docker EE for CentOS。这有一篇文章《Enterprise Edition - Everything You Need to Know》,介绍了CE与EE的关系,可浏览参考。
系统要求
Docker 目前支持 CentOS 7 及以后的版本,内核要求至少为 3.10。
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
操作系统要求
$ uname -a
Linux localhost.localdomain 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Docker 需要用到 centos-extra 这个源,如果您关闭了,需要重启启用,可以参考Available Repositories for CentOS。
卸载旧版本
旧版本的 Docker 被叫做 docker 或 docker-engine,如果安装了旧版本的 Docker ,则需要卸载掉它和相关的依赖。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果运行yum命令之后说没有相关的包也没关系, 旧版本的内容在 /var/lib/docker 下,目录中的镜像(images), 容器(containers), 存储卷(volumes), 和 网络配置(networks)都可以保留。 Docker CE 包,目前的包名为 docker-ce。
安装Docker CE
安装Docker-CE有几种方式,我们这里只介绍用仓库下载安装的方式。 为了方便添加软件源,支持 devicemapper 存储类型,安装如下软件包:
$ sudo yum update
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
添加 Docker 稳定版本的 yum 软件源
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装最新版本的Docker-CE
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果弹出 GPG key 的接收提示,请确认是否为 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35,如果是,可以接受并继续安装。 至此,Docker 已经安装完成了,Docker 服务是没有启动的,操作系统里的 docker 组被创建,但是没有用户在这个组里。
加入 docker 用户组命令
$ sudo usermod -aG docker USER_NAME
用户更新组信息后,重新登录系统即可生效。
安装指定版本
如果想安装指定版本的 Docker,可以查看一下版本并安装。
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
可以指定版本安装,版本号可以忽略 : 和 el7,如 docker-ce-18.09.1
$ sudo yum install docker-ce-<VERSION STRING>
至此,指定版本的 Docker 也安装完成,同样,操作系统内 docker 服务没有启动,只创建了 docker 组,而且组里没有用户。
启动 Docker
使用命令查看docker的状态
sudo systemctl status docker
如果想添加到开机启动
$ sudo systemctl enable docker
启动 docker 服务
$ sudo systemctl start docker
验证安装
验证 Docker CE 安装是否正确,可以运行 hello-world 镜像
$ sudo docker run hello-world
错误解决
出现Unable to find image 'hello-world:latest' locally
这是因为国内特殊的网络环境,这时我们可以使用阿里镜像加速。进入之后执行下方的命令。
再次运行hello-world 镜像,便很快成功。
欢迎留言讨论分享~