【Docker】Linux系统上卸载旧Docker、卸载Podman并重新安装Docker及配置国内镜像源

一、卸载 Podman

可以使用如下命令卸载 Podman

复制代码
dnf remove -y podman buildah

二、卸载旧版本 Docker

若系统中已存在旧版 Docker,请按以下步骤彻底卸载:

1.停止Docker服务
复制代码
sudo systemctl stop docker
2. 卸载 Docker 相关软件包
复制代码
sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine \
                  containerd.io \
                  docker-ce \
                  docker-ce-cli

3. 删除残留文件和目录

复制代码
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
4. 查询残留文件和目录(有残留的话按照上一条删除方法,写入残留目录依次删除即可)
复制代码
sudo yum list installed | grep docker

三、安装最新版 Docker

1. 安装依赖工具(如使用的是dnf命令,可以不用安装此依赖工具)
复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加 Docker 官方仓库( 添加 Docker 仓库(repo),这里使用阿里云的镜像源地址,官方镜像源地址是(https://download.docker.com/linux/centos/docker-ce.repo))
复制代码
# 使用dnf命令
dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 或者使用上一步提供安装了"依赖工具(yum-utils)"的yum-config-manager命令
# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.配置国内镜像加速器(避免下载失败,执行完这步再去安装引擎)(可选做)

为提升镜像下载 速度,配置国内镜像源(以阿里云为例):

3.1. 编辑 /etc/yum.repos.d/docker-ce.repo,将 URL 替换为国内镜像,或者直接执行下面命令即可替换

复制代码
sudo sed -i 's|download.docker.com|mirrors.aliyun.com/docker-ce|g' /etc/yum.repos.d/docker-ce.repo

3.2. 查看是否替换成功

复制代码
grep "mirrors.aliyun.com" /etc/yum.repos.d/docker-ce.repo
4. 安装 Docker 引擎

注:如果想安装指定版本 Docker 的化,可以使用 dnf list docker-ce --showduplicates | sort -r 命令来查看仓库里的所有版本的 Docker,然后安装指定版本即可。理论上建议先配置镜像加速器再安装。

复制代码
# 使用dnf命令
dnf install docker-ce

# 或者使用 yum 命令
# sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. 启动 Docker 并设置开机自启
复制代码
sudo systemctl start docker
sudo systemctl enable docker

四、测试验证

1. 检查是否安装成功

复制代码
docker -v
2. 测试拉取镜像
复制代码
docker pull nginx

3. 配置镜像加速器和 DNS(解决拉取失败问题)

3.1:编辑 Docker 配置文件(使用nano命令:保存【ctrl + o】,退出【ctrl+x】)

复制代码
# 或者使用vi、vim命令都可以
sudo nano /etc/docker/daemon.json

添加以下内容(建议直接复制粘贴,手敲易出错):

{

"dns": "8.8.8.8", "8.8.4.4",

"registry-mirrors": [

"https://docker.m.daocloud.io/",

"https://huecker.io/",

"https://dockerhub.timeweb.cloud",

"https://noohub.ru/",

"https://dockerproxy.com",

"https://docker.mirrors.ustc.edu.cn",

"https://docker.nju.edu.cn",

"https://xx4bwyg2.mirror.aliyuncs.com",

"http://f1361db2.m.daocloud.io",

"https://registry.docker-cn.com",

"http://hub-mirror.c.163.com"

],

"runtimes": {

"nvidia": {

"path": "nvidia-container-runtime",

"runtimeArgs": \[\]

}

}

}

3.2:重新加载配置并重启 Docker

保存并退出后,执行以下命令应用配置:

复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

3.3**. 再次测试拉取镜像**

验证配置是否生效,重新尝试拉取镜像,拉取结束查看拉取的镜像是否在本地:

复制代码
# 拉取镜像
docker pull nginx

# 查看拉取到的所有镜像
docker images

其他相关docker命令

复制代码
# 更新Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 重启docker服务
sudo systemctl restart docker

# 拉取Docker镜像,如果你想要拉取特定版本的镜像(比如ubuntu 18.04),你可以指定标签:docker pull ubuntu:18.04
docker pull ubuntu

# 运行容器
docker run -it ubuntu /bin/bash

# 查看正在运行的容器
docker ps

# 查看所有容器(包括未运行的)
docker ps -a

# 启动一个容器
docker start 容器名或容器ID

# 停止一个容器
docker stop 容器ID或名称

# 重启一个容器
docker restart 容器名或容器ID

# 删除一个容器
docker rm 容器ID或名称

# 查看所有镜像
docker images

# 删除一个镜像
docker rmi 镜像ID或名称[:TAG]

# 检查 Docker 的日志以获取更多详细信息或者查看 Docker 的系统日志(journalctl -u docker.service)
docker logs minio
相关连接
相关推荐
2035去旅行13 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希12314 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡14 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.18 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道18 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.21 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落1 天前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨1 天前
WSL2的安装与使用
linux·wsl
微小的鱼1 天前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng1 天前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器