获取 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-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> 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/)
网友评论