在 CentOS 7 上安装 Docker
时间:2024-1-4 09:07 作者:六度科技 分类: docker
视频教程地址:https://www.bilibili.com/video/BV1UE41137wb
系统环境:CentOS 7 x86_64 Minimal 1908
Docker 官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
1.系统要求
Docker CE 支持的 CentOS 7 的维护版本,本次演示的系统环境为 CentOS 7 x86_64 Minimal 1908,Docker 官方文档中关于系统要求的说明地址为:https://docs.docker.com/install/linux/docker-ce/centos/#os-requirements
2.添加软件仓库
安装 Docker 的方式可以通过 yum 软件仓库去下载安装,也可以下载 RPM 包去本地手动安装。这里我们使用软件仓库去下载安装。首先需要安装一些基本的软件:
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
安装好了之后就可以添加仓库了:
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
第三行就是 Docker 的官方软件仓库地址,这个地址在国内访问会很慢,如果嫌下载速度太慢的话我推荐使用阿里云的镜像仓库地址,阿里云镜像站地址为:https://mirrors.aliyun.com/,下拉找到 Docker CE 点进去就是 Docker CE 的镜像仓库使用说明,也可以通过这个地址直接打开:https://developer.aliyun.com/mirror/docker-ce
找到 CentOS 7 的安装说明中的第二步也就是添加软件源信息,即如下命令:
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
这个命令和 Docker 文档上给出的命令是一样的,只不过软件源地址换成了阿里云的镜像站地址。
3.安装 Docker
添加好软件仓源之后就可以安装 Docker 了:
sudo yum install docker-ce docker-ce-cli containerd.io
在下载好软件包之后可能会让你确认 Docker 的 GPG 密钥信息,确认密钥的指纹是否和 Docekr 文档上给出的密钥指纹信息一致:
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
一致的话就可以输入y确认。安装好之后 Docker 并没有启动,我们需要手动启动 Docker:
$ sudo systemctl start docker
可以将上面命令中的 start
换为 status
来查看 Docker 的运行情况。换为 stop
则停止 Docker,换为 enable
则启用开机自启,换为 disable
则禁用开机自启。
启动了 Docker 之后我们可以运行一个 hello-world
镜像试试看:
$ sudo docker run hello-world
该镜像启动后会输出一些信息。
4.配置非root用户使用docker
在安装好之后的 docker 命令只能通过 sudo
去执行,那是因为 Docker 的守护程序使用 Unix 套接字来监听,而 Unix 套接字是属于 root
用户的,其它用户必须使用 sudo
去访问。但是 Docker 在运行时会授予 docker
用户组下面的用户访问权限。而 docker
用户组在安装好 Docker 之后就自动被创建,如果没有可以使用下面的命令去创建:
$ sudo groupadd docker
接着我们需要将当前用户添加到 docker
用户组中:
$ sudo usermod -aG docker $USER
$USER
就是当前用户的用户名。
加好之后我们需要注销然后重新登陆才会使配置生效。我们也可以使用下面的命令来使配置生效:
$ newgrp docker
接着我们就可以运行不带 sudo
的 docker
命令:
$ docker run hello-world
这部分的内容对应官方文档的地址是:https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user