简要
Docker支持运行在以下CentOS版本:
CentOS 7.X
安装在二进制兼容的EL7版本如 Scientific Linux也是可能成功的,但是Docker
没有测试过并且不官方支持。
此文带你通过使用Docker管理的发行包和安装机制来安装。使用这些报能确保你使用最新的Docker版本。
如果你希望使用CentOS管理的包,请阅读你的CentOS文档。
要求
不过你的系统版本是多少,Docker都要求64位。并且当CentOS7时你的内核必须不小于3.10。
检查当前内核版本:
[root@bogon ~]# uname -r
3.10.0-1062.1.2.el7.x86_64
建议将系统升级到最新。
安装
有两种方式可安装Docker Engine。脚本安装和yum安装。
脚本安装
1.使用root权限登陆系统。
2.更新系统包到最新。
# yum -y update
3.执行Docker安装脚本
# curl -sSL https://get.docker.com/ | sh
# yum install -y docker-selinux
这个脚本会添加docker.repo 配置并安装Docker。
4.启动Docker
# systemctl start docker.service
5.验证docker已经正常安装
# docker run hello-world
yum安装
1.使用root权限登陆系统。
2.更新系统包到最新。
# yum -y update
3.添加yum仓库
# cat >/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
4.安装Docker包
# yum install -y docker-engine
yum install -y docker-selinux
yum list installed | grep docker
docker-engine.x86_64 1.8.1-1.el7.centos @dockerrepo
docker-selinux.x86_64 1.7.1-108.el7.centos @extras
这里有个非常坑的情况,官方文档没有提到docker-selinux的安装,笔者在使用VirtualBox,配置一个桥接,一个Host-Only的网卡时,只安装docker-engine启动会报错,需要在安装docker-selinux方可。
可以看github上的两个issues,1.8.0: Systemd can’t start docker on Centos 7.1 #15498,Docker start times out if firewalld is started #13019。
5.启动Docker
# systemctl start docker.service
6.验证docker已经正常安装
# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
535020c3e8ad: Pull complete
af340544ed62: Already exists
library/hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:d5fbd996e6562438f7ea5389d7da867fe58e04d581810e230df4cc073271ea52
Status: Downloaded newer image for hello-world:latest
开机自启动
配置Docker开机自启动:
# systemctl enable docker.service
If you need to add an HTTP Proxy, set a different directory or partition for the Docker runtime files, or make other customizations, read our Systemd article to learn how to customize your Systemd Docker daemon options.
卸载
使用yum卸载Docker。
1.列出安装的软件包
$ yum list installed | grep docker
yum list installed | grep docker
docker-engine.x86_64 1.8.1-1.el7.centos @dockerrepo
docker-selinux.x86_64 1.7.1-108.el7.centos @extras
2.移除软件包
$ sudo yum -y remove docker-engine.x86_64
上面的命令不会删除镜像,容器,卷组和用户自配置文件。
3.删除所有镜像,容器和卷组
$ rm -rf /var/lib/docker
4.删除用户自配置文件
报错 及解决办法
# vi /etc/resolv.conf
添加一个 nameserver 8.8.8.8