docker安装与卸载

一、卸载

  1. 查看当前版本
docker -v

在这里插入图片描述
2. 如果有,先停止docker

systemctl stop docker

1.1 判断docker是以哪种方式安装

rpm -q docker-ce

如果输出,以下内容,则为yum安装
在这里插入图片描述
如果输出,则为二进制离线安装
在这里插入图片描述

1.2 yum安装 的卸载方式

卸载 Docker 软件包

yum remove -y docker-ce docker-ce-cli containerd.io

清理残留文件(可选)

sudo rm -rf /var/lib/docker       # Docker 数据目录(镜像、容器等)
sudo rm -rf /var/lib/containerd   # containerd 数据目录
sudo rm -rf /etc/docker           # 配置文件目录

移除 Docker 仓库配置(可选)

sudo rm /etc/yum.repos.d/docker-ce.repo

1.3 二进制离线安装 的卸载方式

删除docker配置文件目录

rm -rf /etc/docker

删除docker service文件目录

rm -rf /etc/systemd/system/docker.service

rm -rf /usr/lib/systemd/system/docker.service

删除docker部署目录

# 如果配置文件中指定了docker-root配置项,则删除该配置项对应的目录
rm -rf /home/docker_data
# 如果配置项中未指定docker-root配置项,则docker会被部署到/var/lib/docker目录下
rm -rf /var/lib/docker

卸载docker存储库

rm -rf /etc/yum.repos.d/docker-ce.repo

重启服务

reboot

离线安装卸载时拓展说明

安装的时候会做这个操作cp docker/* /usr/bin/ ,所以也可以去删除这些东西,不过经测试发现即使没删,再次安装比如yum安装也可以安装成功,所以不会冲突。
在这里插入图片描述
如果非要删除,可以先看其是否存在

ls -l /usr/bin/{containerd,containerd-shim-runc-v2,ctr,docker,dockerd,docker-init,docker-proxy,runc}

然后删除

sudo rm -rf /usr/bin/containerd /usr/bin/containerd-shim-runc-v2 /usr/bin/ctr /usr/bin/docker /usr/bin/dockerd /usr/bin/docker-init /usr/bin/docker-proxy /usr/bin/runc

二、安装

2.1 yum 安装

  1. 有两种命令方式
    第一种
yum install -y docker-ce
  • 特点:仅安装 docker-ce 主包。
  • 依赖处理:依赖 yum 的自动依赖解析功能,理论上会安装
    docker-ce-cli、containerd.io 等必要依赖。
  • 官方仓库 + 最新版本

第二种

yum install -y docker-ce docker-ce-cli containerd.io
  • 特点:显式指定主包和关键依赖包。
  • 依赖处理:强制安装指定版本的依赖,避免因仓库配置问题导致的依赖缺失。
  • 第三方仓库 + 旧版本

一般使用第一种就可以

2. 2 二进制离线安装

  1. 阿里云下载安装包:https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/

  2. 解压,移动

tar -zvxf docker-26.0.0.tgz
cp docker/* /usr/bin/
  1. 注册服务,新建 docker.service 文件
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
  1. 将 docker.service 拷贝到
cp docker.service /usr/lib/systemd/system/
  1. 重新加载配置文件
systemctl daemon-reload

注意:如果启动docker提示"Failed to execute operation: Bad message",可能复制docker.service文件时,[Unit] 变成了 t],又或者ExecStart 写成Execstart。

三、测试是否安装成功与开机自启

  1. 启动docker
systemctl start docker
  1. 查看docker状态
systemctl status docker
  1. 设置开机自启
systemctl enable docker

四、仓库国内镜像

配置镜像参考:https://blog.csdn.net/u014390502/article/details/143472743
比如:https://docker.tbedu.top/

sudo systemctl daemon-reload && sudo systemctl restart docker

阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值