Docker可以运行在Windows上,可以运行在macOS上,当然也可以运行在Linux上。作为Linux的一个知名发行版,CentOS,自然也可以搭载运行Docker。CentOS跟另一个曝光度更高的Ubuntu都是Linux发行版,但是二者不通(悲)。
这篇博客会描述对Ubuntu的操作有了解的读者,如何快速在CentOS上搭建Docker。
yum
熟练用过Ubuntu的读者都知道,安装软件用apt。(我个人觉得用macOS的应该会知道用Homebrew,Windows就难说了)
在CentOS上,包管理工具叫做yum
。使用yum
安装包依然是用install
命令(嗯,你还是逃不过必须sudo
的命运)。但是不能直接输入sudo yum install docker
来安装,首先你需要引入Docker仓库。
引入Docker仓库
然而,要引入Docker仓库首先需要安装能够修改yum
配置的实用程序。运行
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
来安装它们。安装过程是静默的,如果想要手动输入那个y
来确认的话,去掉上述指令的-y
(跟apt很像)。
随后,使用
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
将Docker的repo加入yum
当中。
安装Docker
如果你曾经安装过Docker,请先使用下面的命令来卸载它。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
使用下述命令安装Docker。
sudo yum install docker-ce docker-ce-cli containerd.io
这会安装Docker的社区(免费的!)版本,如果yum
询问是否接受GPG钥,检查这个钥之后接受它,就可以了。
Docker作为一个服务,在安装之后需要启动。
sudo systemctl start docker
将会启动Docker服务。
跑一个Hello world吧
输入
sudo docker run hello-world
输出以下内容
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
这表示在本地没有找到hello-world这个镜像,所以它去Docker网站下载了。Docker维护了一个Hub,存放了常用的镜像,可以拿来即用,十分方便。
下载完毕之后,输出以下内容之后镜像就退出了。
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/
安装成功了。我们通过命令行调用了Docker的前端程序,前端程序调用了我们刚刚启动的守护进程,守护进程从互联网上下载了镜像,随后创建了环境(容器)并且运行了镜像。守护进程,即后端,即服务,将镜像的输出串流到了前端输出,所以我们在屏幕上看到了这些。镜像退出之后,容器也随之销毁了。
以上就是在CentOS当中安装并试运行Docker的全部过程。