开始在 CentOS 上使用 docker

获取 docker (社区版)  

首先,如果已经安装过老版本,需要移除,老版本叫 `docker` 或 `docker-engine`. 

```bash

$ sudo yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-engine

```

新版本叫 `docker-ce`.  

有 3 种安装途径,`yum` 安装、下载 `rpm` 包手动安装和自动化脚本安装。

`yum` 安装可以很方便的更新升级,所以选择 `yum` 安装方式,而且服务器大多都是命令行的模式(没得选)。

##### 添加 `yum` 源

由于 centos 官方维护的 docker 包版本比较低,为了与时俱进安装最新版,需要添加 yum 源。

```bash

$ sudo yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo

```

如果没有 `yum-config-manager` 则安装  

```bash

$ sudo yum install -y yum-utils \

  device-mapper-persistent-data \

  lvm2

```

查看包列表,检查是否添加成功

```bash

$ yum list docker-ce --showduplicates | sort -r

```

命令会罗列出已存在的包,如果没有官方的最新版,那说明源有问题,需要检查下是否有误。

##### 安装

```bash

$ sudo yum install docker-ce docker-ce-cli containerd.io

```

这样默认安装的是最新版,如果需要安装指定版本,可以这样

```bash

$ sudo yum install docker-ce- docker-ce-cli- containerd.io

```

具体的版本可以通过查看包列表命令获取,例如:`docker-ce-18.09.1`。

#### 运行 docker

##### 启动

启动 docker 服务和启动其他服务程序没有任何差别,都使用 `systemctl` 命令控制。

```bash

$ sudo systemctl start docker

```

查看启动状态。

```bash

$ sudo systemctl status docker

```

##### 确认是否安装成功

可以通过运行一个测试镜像来确认 docker 是否真正的安装并运行成功。

```bash

$ sudo docker run hello-world

```

这个命令会下载一个测试镜像,并在容器里运行。当容器运行成功,会打印出相关信息并正确退出。

由于大环境影响,镜像的下载会很慢,甚至失败,可参考 [Daocloud](https://www.daocloud.io/mirror) 配置国内仓库,另外还有 [阿里云仓库](https://www.aliyun.com/product/acr?spm=5176.12825654.eofdhaal5.42.e9392c4aVifDAN&aly_as=OWjuqec8),网易云,腾讯云,时速云,国外的还有 Docker Hub 和 Quay,各取所好。

#### 卸载

```bash

$ sudo yum remove docker-ce

```

主机上的镜像、容器、卷或自定义配置文件不会自动删除,删除所有镜像、容器和卷:

```bash

$ sudo rm -rf /var/lib/docker

```

其他编辑过的配置文件,需要手动删除。 

#### 其他

如果在 docker 里的服务需要外网访问,一定要记得 `IP` 转发已开启,可以通过命令 `sysctl net.ipv4.ip_forward` 查看,若没开启,可以  `sudo vim /etc/sysctl.conf` 编辑对应项以开启,记得重启网络服务 `sudo systemctl restart network` . 

-----  

更多内容请看官方文档:

> [# Get Docker Engine - Community for CentOS](https://docs.docker.com/install/linux/docker-ce/centos/)

你可能感兴趣的:(开始在 CentOS 上使用 docker)