Linux下安装及卸载docker的多种方式

官方提供了多种安装方式有:

1、使用yum仓库安装

2、使用rpm包安装

3、使用方便的docker脚本安装

以下安装方式均以CentOS 7为例。

1、yum方式安装docker

1.1 安装步骤

# 设置仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io
# 启动Docker
sudo systemctl start docker
# 设置为开启自启动
sudo systemctl enable docker

# 运行Docker hello-world程序
sudo docker run hello-world

查看安装后的docker版本:

[root@centos7 log]# docker version
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:45:33 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:43:57 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

1.2 yum安装后无法启动

执行systemctl start docker,报错信息如下:

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

解决办法:

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

# 更新yum(请耐心等待)
yum update

# 按照前面的方式进行安装即可

2、rpm方式安装docker

rpm包下载地址:

http://docker-release-yellow-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/

# 下载rpm包
wget http://docker-release-yellow-prod.s3-website-us-east-1.amazonaws.com/linux/centos/7/x86_64/stable/Packages/docker-ce-20.10.6-3.el7.x86_64.rpm
# 安装
sudo yum install docker-ce-20.10.6-3.el7.x86_64.rpm
# 启动
sudo systemctl start docker
# 设置为开启自启动
sudo systemctl enable docker
# 运行hello world
sudo docker run hello-world

注意:这里使用的是CentOS 7的rpm包,如果是其它Linux发行版本,请移步这里选择合适自己OS的rpm包:

https://download.docker.com/linux/

3、sh脚本安装docker

Docker提供了一个方便的脚本,可以不用交互的来安装docker。

官方不建议在生产环境使用,只用于开发环境的docker安装。

使用该脚本前,需要了解如下信息:

  • 脚本需要root/sudo权限执行
  • 脚本自动检测Linux版本,自动配置并安装,所以肯定没有自定义配置
  • 脚本会自动安装依赖(不询问),可能会安装大量依赖
  • 脚本默认安装最新版本的docker、containerd额和runc
  • 脚本设计时没有考虑会自动升级一个已存在的docker
# 获取脚本
curl -fsSL https://get.docker.com -o get-docker.sh

# 查看get-docker.sh命令中执行的命令(此步骤可以跳过,仅仅是为了了解安装过程而已)
# DRY_RUN=1参数可以看到具体执行的命令
DRY_RUN=1 sh ./get-docker.sh

# 使用脚本安装docker
sudo sh ./get-docker.sh

# 运行hello world
sudo docker run hello-world

这里因为使用的是CentOS 7系统,所以看到get-docker.sh的执行命令为:

yum install -y -q yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum makecache
yum install -y -q docker-ce
yum install -y -q docker-ce-rootless-extras
docker version

4、卸载docker

# Uninstall the Docker Engine, CLI, and Containerd packages
sudo yum remove docker-ce docker-ce-cli containerd.io

# 上述卸载,不会删除image、container、volume及自定义配置等文件
# 如需卸载,请执行如下命令
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

参考

1.[docker install centos](https://docs.docker.com/engine/install/centos/)

2.[docker使用yum安装后无法启动docker服务](https://blog.csdn.net/weimenglala/article/details/102736921)


版权声明:本文为u012383839原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。