centOS安装docker

102 阅读2分钟

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

这是因为国内特殊的网络环境,这时我们可以使用阿里镜像加速。进入之后执行下方的命令。

image.png

再次运行hello-world 镜像,便很快成功。

欢迎留言讨论分享~