一、Docker离线安装
1、安装之前卸载已经安装的Docker
具体卸载步骤见下方
2、Docker离线安装包下载地址:
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