
一、卸载 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://dockerhub.timeweb.cloud",
"https://docker.mirrors.ustc.edu.cn",
"https://xx4bwyg2.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.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
相关连接
- Docker 官网 :Docker: Accelerated Container Application Development
- Docker 中文文档 :https://docs.docker.com/zh-cn/