CentOS通过yum安装Docker

Posted 洗洗早睡啦 的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS通过yum安装Docker相关的知识,希望对你有一定的参考价值。

安装前准备

CentOS版本

要安装Docker Engine,你需要以下CentOS版本中的一个维护版本:

  • CentOS 7
  • CentOS 8 (stream)
  • CentOS 9 (stream)

centos-extras 仓库必须被启用。这个仓库默认是启用的,但如果你已经禁用了它,你需要重新启用它。

删除旧版本

旧版本的Docker以dockerdocker-engine为名。在尝试安装新版本之前,请卸载任何此类旧版本,以及相关的依赖关系。

$ sudo yum remove docker \\
                  docker-client \\
                  docker-client-latest \\
                  docker-common \\
                  docker-latest \\
                  docker-latest-logrotate \\
                  docker-logrotate \\
                  docker-engine

当你卸载Docker时,存储在/var/lib/docker/中的镜像、容器、数据卷和网络不会自动删除。

进行安装

在你第一次在新主机上安装Docker Engine之前,你需要设置Docker仓库。之后,你可以从存储库中安装和更新Docker。

设置存储库

安装yum-utils软件包(提供yum-config-manager工具),并设置资源库。

$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装Docker Engine

  1. 安装Docker Engine、containerd和Docker Compose:
$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果提示接受GPG密钥,验证指纹是否与060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35相匹配,如果是,就接受它。

这条命令安装了Docker,但它并没有启动Docker。它还创建了一个docker组,但是,默认情况下,它没有添加任何用户到该组。

  1. 启动Docker
$ sudo systemctl start docker
  1. 通过运行hello-world镜像,验证Docker的安装是否成功。
$ sudo docker run hello-world

这个命令会下载一个测试镜像并在一个容器中运行。当容器运行时,它会打印出一条确认信息并退出。

现在你已经成功安装并启动了Docker Engine。

CentOs安装docker

参照官方文档安装dockerCE版本

1.安装需要的依赖包,主要涉及yum-config-manager/device-mapper-persistent-datalvm2

通过如下命令可以查看本地是否已经安装了相关依赖包

#通过TAB键可以补全相关命令,表示安装成功
yum-config-manager

yum list installed | grep device-mapper-persistent-data #查看是否安装device-mapper-persistent-data
#如下结果表示已经安装完毕
#device-mapper-persistent-data.x86_64    0.7.3-3.el7                    @anaconda


yum list installed | grep lvm2
#有结果表示已经安装完毕
#lvm2.x86_64                             7:2.02.177-4.el7               @anaconda
#lvm2-libs.x86_64                        7:2.02.177-4.el7               @anaconda
#lvm2-python-libs.x86_64                 7:2.02.177-4.el7               @anaconda

如上所示,说明已经安装完毕,无需重复安装。若是未安装完毕,参照官网安装即可

sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2

2.添加稳定docker源

sudo yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

通过命令 yum repolist #默认显示enabled,未生效的添加参数disabled即可 查看目前哪些可用的源

3.安装docker

sudo yum install docker-ce

4.将docker添加为开机自启动,同时启动docker服务

sudo systemctl status docker.service #查看服务状态
sudo systemctl enable docker #开机自启动
sudo systemctl start docker #启动服务

启动之后执行 docker version 提示无权限问题

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/version: dial unix /var/run/docker.sock: connect: permission denied

通过查看/etc/group文件,发现已经存在docker用户组,但是未配置普通用户

docker:x:983

(若未配置docker用户组,需先执行命令 sudo groupadd docker 添加用户组)

此时,执行命令

sudo usermod -aG docker fengxm #fengxm为需要添加的用户名

执行完毕,发现添加成功 docker:x:983:fengxm 

此时,重启电脑或者logout/login,再执行命令 docker version 即可

[[email protected] ~]$ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:23:03 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:25:29 2018
  OS/Arch:          linux/amd64
  Experimental:     false

 

 

参考文档:

docker官方文档

用户配置

以上是关于CentOS通过yum安装Docker的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.0 yum安装 docker

centos能安装docker吗

Centos7安装docker

CentOs安装docker

Centos 通过yum的方式升级内核

CentOS 7 下 yum 方式安装 Docker 环境