From e42e1b9c512848f5c79100fa765070dffcc65921 Mon Sep 17 00:00:00 2001 From: khs1994 Date: Mon, 4 Sep 2017 11:17:39 +0800 Subject: [PATCH] UP Docker CE for CentOS 7 --- install/centos.md | 109 +++++++++++++++++++++++++++------------------- 1 file changed, 65 insertions(+), 44 deletions(-) diff --git a/install/centos.md b/install/centos.md index 92bac13..b70436b 100644 --- a/install/centos.md +++ b/install/centos.md @@ -1,40 +1,24 @@ -## CentOS 操作系统安装 Docker +## CentOS 操作系统安装 Docker CE ### 系统要求 -Docker 最低支持 CentOS 7。 +Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 `overlay2` 存储层驱动)无法使用,并且部分功能可能不太稳定。 -Docker 需要安装在 64 位的平台,并且内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 `overlay2` 存储层驱动)无法使用,并且部分功能可能不太稳定。 +### 卸载旧版本 -### 使用脚本自动安装 - -Docker 官方为了简化安装流程,提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装: +旧版本的 Docker 称为 `docker` 或者 `docker-engine`,使用以下命令卸载旧版本: ```bash -curl -sSL https://get.docker.com/ | sh +$ sudo yum remove docker \ + docker-common \ + docker-selinux \ + docker-engine ``` - -执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 安装在系统中。 - -不过,由于伟大的墙的原因,在国内使用这个脚本可能会出现某些下载出现错误的情况。国内的一些云服务商提供了这个脚本的修改版本,使其使用国内的 Docker 软件源镜像安装,这样就避免了墙的干扰。 - -#### 阿里云的安装脚本 - -```bash -curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - -``` - -#### DaoCloud 的安装脚本 - -```bash -curl -sSL https://get.daocloud.io/docker | sh -``` - -### 手动安装 +### 使用 yum 源安装 #### 添加内核参数 -默认配置下,在 CentOS 使用 Docker 可能会碰到下面的这些警告信息: +默认配置下,在 CentOS 使用 Docker CE 可能会看到下面的这些警告信息: ```bash WARNING: bridge-nf-call-iptables is disabled @@ -58,38 +42,70 @@ $ sudo sysctl -p #### 添加 yum 源 -虽然 CentOS 软件源 `Extras` 中有 Docker,名为 `docker`,但是不建议使用系统源中的这个版本,它的版本相对比较陈旧,而且并非 Docker 官方维护的版本。因此,我们需要使用 Docker 官方提供的 CentOS 软件源。 - -执行下面的命令添加 `yum` 软件源。 +执行以下命令安装依赖包: ```bash -$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' -[dockerrepo] -name=Docker Repository -baseurl=https://yum.dockerproject.org/repo/main/centos/7/ -enabled=1 -gpgcheck=1 -gpgkey=https://yum.dockerproject.org/gpg -EOF +$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` -#### 安装 Docker +##### 国内源 -更新 `yum` 软件源缓存,并安装 `docker-engine`。 +执行下面的命令添加 `yum` 软件源: ```bash -$ sudo yum update -$ sudo yum install docker-engine +$ sudo yum-config-manager \ + --add-repo \ + https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ``` -#### 启动 Docker 引擎 +##### 官方源 + +```bash +$ sudo yum-config-manager \ + --add-repo \ + https://download.docker.com/linux/centos/docker-ce.repo +``` + +>以上命令会添加 稳定 版本的 Docker CE APT 镜像源 。从 Docker 17.06 开始,edge test 版本的 APT 镜像源也会包含稳定版本的 Docker CE + +如果需要最新版本的 Docker CE 请使用以下命令: + +```bash +$ sudo yum-config-manager --enable docker-ce-edge +``` + +```bash +$ sudo yum-config-manager --enable docker-ce-test +``` + +#### 安装 Docker CE + +更新 `yum` 软件源缓存,并安装 `docker-ce`。 + +```bash +$ sudo yum makecache fast +$ sudo yum install docker-ce +``` + +### 使用脚本自动安装 + +在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装: + +```bash +$ curl -fsSL get.docker.com -o get-docker.sh +$ sudo sh get-docker.sh --mirror Aliyun +``` + +执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 edge 版本安装在系统中。 + +### 启动 Docker CE ```bash $ sudo systemctl enable docker $ sudo systemctl start docker ``` -#### 建立 docker 用户组 +### 建立 docker 用户组 默认情况下,`docker` 命令会使用 [Unix socket](https://en.wikipedia.org/wiki/Unix_domain_socket) 与 Docker 引擎通讯。而只有 `root` 用户和 `docker` 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 `root` 用户。因此,更好地做法是将需要使用 `docker` 的用户加入 `docker` 用户组。 @@ -105,6 +121,11 @@ $ sudo groupadd docker $ sudo usermod -aG docker $USER ``` +### 镜像加速 + +鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 [国内镜像加速](/install/mirror.html)。 + ### 参考文档 -参见 [Docker 官方 CentOS 安装文档](https://docs.docker.com/engine/installation/linux/centos/)。 +* [Docker 官方 CentOS 安装文档](https://docs.docker.com/engine/installation/linux/docker-ce/centos/)。 +* [阿里云 Docker CE 安装镜像帮助](https://yq.aliyun.com/articles/110806)