前言:之前做了一个医院的项目,一般医院使用的服务器都是内网环境,所以自己整合了一下Docker离线部署的方法分享给大家。
docker 离线镜像导入 看这里
第一步:下载docker离线安装包
下载地址:Index of linux/static/stable/x86_64/ (docker.com)
此处我下载的是最新版本
docker-24.0.5.tgz
大家根据自己的需求下载自己对应的版本。
第二步:将离线包放入服务器对应位置
可以使用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离线安装成功啦!