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,其他用户访问时需要使用sudoDocker守护程序始终以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

 

posted @ 2020-06-19 11:23  SpringCore  阅读(1129)  评论(0编辑  收藏  举报