前言:之前做了一个医院的项目,一般医院使用的服务器都是内网环境,所以自己整合了一下Docker离线部署的方法分享给大家。
docker 离线镜像导入 看这里
第一步:下载docker离线安装包
下载地址:Index of linux/static/stable/x86_64/ (docker.com)
此处我下载的是最新版本
大家根据自己的需求下载自己对应的版本。
第二步:将离线包放入服务器对应位置
可以使用xftp或者winscp等软件将离线包放入服务器,我使用的是macOS电脑,推荐使用electerm
将下载好的文件放到/opt/docker目录下,没有的话可以自己创建docker文件夹
第三步:创建系统配置文件
使用命令:vim /opt/docker/docker.service 在docker文件夹下创建一个.service文件,按i进入输入模式
[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
输入完成以后按键盘:wq 进行保存并推出
这个单元文件定义了Docker服务的配置和行为,包括以下几点:
- 在
[Unit]
段中,描述了该服务的简要说明和相关文档链接,以及依赖的其他服务。 - 在
[Service]
段中,定义了服务的启动、重新加载和关闭的命令,以及资源限制和重启策略等。 - 在
[Install]
段中,指定了服务的启动级别。
赋执行权限
chmod +x /etc/systemd/system/docker.service systemctl daemon-reload
第四步:创建安装脚本
vim /opt/docker/install.sh
输入以下内容
#!/bin/sh echo '解压tar包...' tar -xvf $1 echo '将docker目录移到/usr/bin目录下...' cp docker/* /usr/bin/ echo '将docker.service 移到/etc/systemd/system/ 目录...' cp docker.service /etc/systemd/system/ echo '添加文件权限...' chmod +x /etc/systemd/system/docker.service echo '重新加载配置文件...' systemctl daemon-reload echo '启动docker...' systemctl start docker echo '设置开机自启...' systemctl enable docker.service echo 'docker安装成功...' docker -v
第五步:执行安装脚本
在docker目录下执行命令:sh install.sh docker-24.0.5.tgz
执行成功后会在终端打印docker版本号,那么就代表docker离线安装成功啦!