CentOS 8安装docker以及文件冲突的处理

Posted 想考北航的小刺猬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 8安装docker以及文件冲突的处理相关的知识,希望对你有一定的参考价值。

  • 官网链接大家自取Install Docker Engine on CentOS | Docker Documentation
  • 想要安装docker的话,需要保证CentOS的版本在7或8。默认开启了centos-extras repository这个仓库,这一步骤就不用管。
  • 卸载旧版本的docker或者docker-engine,最后你下载完的docker可以在/var/lib/docker中找到,然后这个文件夹中包含了images、container、volumes和networks,docker引擎的包叫做docker-ce。
sudo yum remove docker \\
                  docker-client \\
                  docker-client-latest \\
                  docker-common \\
                  docker-latest \\
                  docker-latest-logrotate \\
                  docker-logrotate \\
                  docker-engine
  • 继续别跳步骤,通用方法安装repository,输入下面两条命令。
sudo yum install -y yum-utils

sudo yum-config-manager \\
    --add-repo \\
    https://download.docker.com/linux/centos/docker-ce.repo
  • 如果你想安装nightly或者test repositories,输入前两条命令即可,第三条命令是禁用命令,同时,想要了解nightly、test repository的请戳这个链接看一下Install Docker Engine | Docker Documentation
sudo yum-config-manager --enable docker-ce-nightly

sudo yum-config-manager --enable docker-ce-test

sudo yum-config-manager --disable docker-ce-nightly
  • 在安装docker engine时,我遇到了一个问题就是有多个文件冲突,这时候网上很多说需要先安装lvm2,再继续安装docker engine:
yum install lvm2 -y
  • 但是我在安装之后,并没有什么卵用,可以看到错误是和podman文件有关,然后查了一下podman是linux自带的容器,与docker冲突了,这样我们就知道问题出在哪了,只需要移除这个即可:
rpm -q podman  # 看一下自己的podman版本

yum remove podman  # 移除podman
  • 正式安装docker,这里还会出现一些安装不上的东西,但这些东西并不影响正常的docker运行,我们在安装命令后加上 --allowerasing,如下图所示:
//第一种方式,直接安装最新版的docker engine

sudo yum install docker-ce docker-ce-cli containerd.io --allowerasing



//第二种安装指定版本,首先要看一下目前docker engine都有哪些版本,输入下列命令:

yum list docker-ce --showduplicates | sort -r

显示结果如下(不一定一样,主要是为了选择一下版本号):
docker-ce.x86_64               3:20.10.9-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.9-3.el8                 @docker-ce-stable
docker-ce.x86_64               3:20.10.8-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.7-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.6-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.5-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.4-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.3-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.2-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.1-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.11-3.el8                docker-ce-stable 
docker-ce.x86_64               3:20.10.10-3.el8                docker-ce-stable 
docker-ce.x86_64               3:20.10.0-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:19.03.15-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.14-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.13-3.el8                docker-ce-stable 

//然后你就取中间那一列的某一行,自己选一下,比如说3:20.10.0-3.el8,去掉“3:”和“-3.el8”只要“20.10.0”,接着输入命令:

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io --allowerasing

//注意这里的VERSION_STRING要替换成你选的那个版本号,例如上述“20.10.0”,输入的时候不要加双引号,同时去掉尖括号
  • 然后就可以启动Docker了:
sudo systemctl start docker
  • 输入下面的命令看看docker engine是不是正确安装了,如下命令在第一次运行时需要拉取hello-world,所以需要等一下:
sudo docker run hello-world

运行成功就是这个样子:

  •  卸载docker engine
sudo yum remove docker-ce docker-ce-cli containerd.io


//由于images、containers、volumes或者customized configuration files不会自动删除,需要手动,输入如下命令即可。


sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

注意一点,就是我在安装之前都是设置了代理的,也就是你要在宿主机上安装代理,这个大家自行搜集吧,卡住大家的一般都是网络。我下载docker主要目的是为了安装fabric框架,脚本安装的时候会遇到各种各样的错误,几乎都是网络引起的,尤其是bootstrap.sh中的二进制文件和部分docker images,对于fabric的安装,也有很多教程,帮助大家解决下载二进制文件的问题,链接我忘记了,你们搜一下,主要方式就是注释脚本文件中的二进制文件下载内容,然后用其他方式去下载。

设置代理的方式:

//在/etc/yum.conf文件中,加入以下环境变量

proxy=http://hostname:port

 然后配置一下网络代理,设置虚拟机为桥接然后应用宿主机的物理网络。

以上是关于CentOS 8安装docker以及文件冲突的处理的主要内容,如果未能解决你的问题,请参考以下文章

Centos 8 安装docker 出现podman冲突

Centos 8 安装docker 出现podman冲突

Centos 8 安装docker 出现podman冲突

centos7下安装docker(8.1运行容器)

Docker CentOS 网段与公司网段冲突

centos 7 。 docker 安装rabbitmq 以及集权搭建