Centos7 Docker离线安装与卸载

662 阅读2分钟

一、Docker离线安装

1、安装之前卸载已经安装的Docker

具体卸载步骤见下方

2、Docker离线安装包下载地址:

Docker离线安装包下载地址

image.png

3、将下载的Docker离线安装包上传到服务器中

rz -bey docker-20.10.16.tgz

4、解压安装包

tar -zxvf docker-20.10.16.tgz

5、将解压后的docker文件夹内容拷贝到/usr/bin目录下

cp docker/* /usr/bin/

6、将docker注册为service,进入/etc/systemd/system/目录,并创建docker.service文件

vim /etc/systemd/system/docker.service

7、将下面内容写入docker.service中


注意:如果宿主机中的/etc/security/limits.conf设置了open files,则在下面的文件内容中将LimitNOFILE的值设置为小于等于open files,否则会导致无法启动docker


[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 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H tcp://0.0.0.0:2375
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

8、添加文件执行权限

chmod +x /etc/systemd/system/docker.service

9、重新加载配置文件


注意:每次修改docker.service后都需要重新加载


systemctl daemon-reload

10、启动docker

systemctl start docker

11、查看docker版本

docker -v

12、验证docker是否启动成功


注意:显示active (running)表示启动成功


systemctl status docker

13、将docker设置为开机启动

systemctl enable docker.service

14、配置镜像加速器,默认是到国外拉取镜像,速度较慢

阿里云镜像加速参考:阿里云容器镜像服务

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": ["你自己的镜像加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、Docker离线卸载

1、删除服务

# 取消开机自启动服务
systemctl disable docker
# 删除注册服务文件
rm -rf /etc/systemd/system/docker.service

2、删除docker命令

rm -rf /usr/bin/containerd
rm -rf /usr/bin/containerd-shim
rm -rf /usr/bin/containerd-shim-v2
rm -rf /usr/bin/ctr
rm -rf /usr/bin/runc
rm -rf /usr/bin/docker*

3、删除配置

rm -rf /etc/docker/

4、删除镜像或容器

rm -rf /var/lib/docker