Centos8 上安装 Docker19.03
使用存储库安装
首次安装Docker-ce之前,需要设置Docker存储库。便可以从存储库安装和更新Docker。
设置存储库
1.安装yum-utils
软件包(提供yum-config-manager
实用程序)并设置稳定的存储库。
//1.安装yum-utils sudo yum install -y yum-utils //2.添加Docker稳定存储库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2.docker-ce-3:19.03.11-3.el7.x86_64 需要依赖 containerd.io >= 1.2.2-3,因此我们先安装containerd.io
centos8默认使用podman代替docker,所以需要containerd.io,那我们就安装一下就好了
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.2.el7.x86_64.rpm
3.安装最新版本的Docker-ce和容器
sudo yum install docker-ce docker-ce-cli
4.运行Docker-ce
sudo systemctl start docker
5.以非root用户管理Docker
Docker守护程序绑定到了Unix套接字而非TCP端口。默认情况下,Unix套接字要求用户使用root,其他用户访问时需要使用sudo
。Docker守护程序始终以root
用户身份运行。
如果你不想在使用docker
命令前添加sudo
,则需要创建一个名为docker的UNIX组并将用户添加到该组内。Docker守护程序启动时,它会创建一个可由该docker
组成员访问的Unix套接字。
注意:该docker
组将被授予与root
用户等效的特权【要在没有root特权的情况下运行Docker,参考Docker无根模式】
要创建docker
组并添加用户,请执行以下操作:
1.创建docker
组。
sudo groupadd docker
2.将您的用户添加到该docker
组。
sudo usermod -aG docker $USER //例如我的就需要执行sudo usermod -aG docker fanqi
3.注销并重新登录,以便重新评估您的组成员身份。
如果在虚拟机上进行测试,则可能需要重新启动虚拟机以使更改生效。
在桌面Linux环境(例如Windows X )上,完全注销会话,然后重新登录。
在Linux上,您还可以运行以下命令来激活对组的更改:
newgrp docker
4.验证您是否可以运行docker
不带命令的命令sudo
。
docker run hello-world
此命令将会下载hello-world测试图像并在容器中运行。容器运行时,它会打印参考消息并退出。
如果您在将用户添加到docker
组中之前最初使用sudo Docker CLI命令运行,则可能会看到以下错误,这表明由于该sudo
命令,您的~/.docker/目录创建时使用了不正确的权限。
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
要解决此问题,请删除~/.docker/
目录(会自动重新创建目录,但是所有自定义设置都会丢失),或者使用以下命令更改其所有权和权限:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R
6.Docker无根模式
参见 https://docs.docker.com/engine/security/rootless/
7.配置Docker开机自启
sudo systemctl enable docker