CentOS 7 安装 Docker。
文章目录
官方文档:https://docs.docker.com/install/linux/docker-ce/centos/
卸载旧版本。
Older versions of Docker were called docker or docker-engine. If these are installed, uninstall them, along with associated dependencies.
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
使用 YUM 安装 Docker Engine - Community。
准备相关工具包。
Install required packages. yum-utils
provides the yum-config-manager
utility, and device-mapper-persistent-data
and lvm2
are required by the devicemapper
storage driver.
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置 Docker 稳定版 YUM 源。
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
可选操作。
Optional: Enable the nightly or test repositories.
These repositories are included in the docker.repo file above but are disabled by default. You can enable them alongside the stable repository. The following command enables the nightly repository.
$ sudo yum-config-manager --enable docker-ce-nightly
To enable the test channel, run the following command:
$ sudo yum-config-manager --enable docker-ce-test
You can disable the nightly or test repository by running the yum-config-manager command with the --disable flag. To re-enable it, use the --enable flag. The following command disables the nightly repository.
$ sudo yum-config-manager --disable docker-ce-nightly
安装 Install Docker Engine - Community。
- 安装最新版本。
$ sudo yum install docker-ce docker-ce-cli containerd.io
- 或安装指定版本。
查询可用版本。
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
- 安装指定版本。
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
启动 Docker 服务。
$ sudo systemctl start docker
验证 Docker 服务。
Verify that Docker Engine - Community is installed correctly by running the hello-world image.
$ sudo docker run hello-world
- 如果 Docker 服务未启动。
[root@192 ~]# docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
- 如果第一次使用一个镜像,本地没有该镜像,Docker 会去中心仓库拉取。
[root@192 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
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.
(amd64)
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 ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
更换国内仓库源。
这里推荐 USTC 作为仓库源。
https://lug.ustc.edu.cn/wiki/mirrors/help/docker
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
- 请在该配置文件中加入(没有该文件的话,请先创建一个)。
[root@192 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}