一、安装docker
- Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker。
通过 uname -r 命令查看你当前的内核版本
uname -r
通过 cat /etc/os-release 查看系统信息
cat /etc/os-release
- 使用 root 权限登录 Centos。确保 yum 包更新到最新。
sudo yum update
- 卸载旧版本(如果安装过旧版本的话)。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源。
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 可以查看所有仓库中所有docker版本,并选择特定版本安装。
yum list docker-ce --showduplicates | sort -r
- 安装docker。
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
# sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
...
- 启动并加入开机自启。
sudo systemctl start docker
sudo systemctl enable docker
- 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)。
docker version
- 运行测试用例
docker run hello-world
- 查看下载的 hello-world 镜像
docker images
二、卸载docker
- 查看当前docker状态。
systemctl stop docker
- 查看yum安装的docker文件包。
yum list installed |grep docker
查看docker相关的rpm源文件
rpm -qa |grep docker
- 删除所有安装的docker文件包。
yum -y remove docker.x86_64
其他的docker相关的安装包同样删除操作,删完之后可以再查看下docker rpm源
rpm -qa |grep docker
- 删除docker的镜像文件,默认在/var/lib/docker目录下,所以删除目录即可。
rm -rf /var/lib/docker
docker卸载就完成了。
三、问题
- 因为之前已经安装过旧版本的docker,在安装的时候报错如下:
Transaction check error:
file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
- 卸载旧版本的包。
sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
- 再次安装docker。
sudo yum install docker-ce