离线安装Docker并导入外部镜像
一、安装环境
目标服务器系统:RHEL7.4,Docker离线安装包版本:20.10.12
二、安装
1、解压上传的压缩包,解压后当前路径会生成一个docker目录:
tar -zxf docker-20.10.12.tgz
2、将docker服务注册为service
cp docker/* /usr/bin/
vim /etc/systemd/system/docker.service
将如下内容粘贴到docker.service后保存退出;
ps:需要root权限,如果权限被限制,可以通过ln -s 软连接指到 /etc/systemd/system/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
4、启动
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重载unit配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
5、验证
systemctl status docker #查看Docker状态
6、在另一台Docker服务器上导出镜像:
#镜像备份
docker save imagename -o /home/路径/镜像名.tar
7、在目标服务器导入镜像:
#还原镜像
# docker load --input 镜像名.tar