CentOS
Docker运行在CentOS 7.X。同样在Scientific Linux这样的EL7发行版上也可以安装成功,但是Docker并没有在这些发行版本上提供测试和支持。
这篇安装指南使用的是Docker管理的安装包和安装工具来安装Docker,确保你获取的是最新的Docker。如果你希望使用CentOS-managed安装包,查阅你的CentOS发行文档。
Prerequisites
Docker 需要64位系统和至少3.10的内核版本。
要检查你的内核版本,打开终端使用 uname -r
命令打印内核版本:
$ uname -r |
最后,我们推荐你完全更新你的系统。请记住,您的系统应该完全修补,已修复任何明确的内核错误。任何已报告的内核bug可能在最近的linux内核包中被修复。
Install Docker Engine
这里有两种方式安装Docker Engine。你可以使用yum
包管理器安装。或者你可以使用 curl
get.docker.com
site。第二种方法运行一个安装脚本也是像yum
包管理那样安装。
Install with yum
使用具有
sudo
或root
权限的用户登陆你的系统。确保你的已经安装的包都是最新的。
$ sudo yum update
添加
yum
源。$ 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安装Docker。
$ sudo yum install docker-engine
开启服务。
$ sudo systemctl enable docker.service
开启Docker守护进程。
$ sudo systemctl start docker
在容器中运行一个镜像来验证
docker
是否安装正确。$ sudo docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
如果你想添加HTTP代理,设置另一个存放Docker运行时文件目录或者磁盘,或者其他个性化设置,阅读我们Systemd文章customize your Systemd Docker daemon options。
Install with the script
使用具有
sudo
或root
权限的用户登陆你的系统。确保你的已经安装的包都是最新的。
$ sudo yum update
运行Docker安装脚本。
$ curl -fsSL https://get.docker.com/ | sh
这个脚本添加
docker.repo
仓库和安装Docker。开启服务。
$ sudo systemctl enable docker.service
开启Docker守护进程。
$ sudo systemctl start docker
在容器中运行一个镜像来验证
docker
是否安装正确。$ sudo docker run hello-world
如果你想添加HTTP代理,设置另一个存放Docker运行时文件目录或者磁盘,或者其他个性化设置,阅读我们Systemd文章customize your Systemd Docker daemon options。
Create a docker group
docker
守护进程绑定在一个Unix socket 来代替TCP端口。 默认情况下 Unix socket 属于 root
用户和其它具有 sudo
权限的用户。因此,docker
守护进程总是使用root
用户运行。
为避免每次使用 docker
命令都要添加sudo
,创建一个叫做 docker
的Unix 用户组并使用它。当docker
守护进程启动,docker
用户组会分配Unix socket的读写权限。
警告:
docker
用户组等同于root
用户; 更多关于他和系统安装之间的冲突,查看Docker Daemon Attack Surface。
创建 docker
用户组和添加用户:
使用具有
sudo
权限的用户登录系统。创建
docker
用户组。$ sudo groupadd docker
添加你的用户到
docker
用户组。$ sudo usermod -aG docker $USER
重新登录用户。
确保你的用户拥有正确的权限。
使用没有
sudo
的命令运行docker
来验证你的工作。$ docker run hello-world
Start the docker daemon at boot
配置Docker守护进程开机自启动:
$ sudo systemctl enable docker |
Uninstall
你可以使用 yum
卸载Docker 软件。
列出已安装的Docker包。
$ yum list installed | grep docker
docker-engine.x86_64 1.7.1-0.1.el7@/docker-engine-1.7.1-0.1.el7.x86_64移除安装包。
$ sudo yum -y remove docker-engine.x86_64
上述命令不会删除主机上的镜像,容器,卷或用户创建的配置文件。
要删除镜像,容器,卷命令如下:
$ rm -rf /var/lib/docker
准确和查找所有用户创建的配置文件。