Linux 系统离线一键部署docker服务

530 阅读1分钟

linux系统离线一键部署和卸载dockers服务

工业系统里,机房的有些服务器是禁止连外网(广域网)的,所以需要部署docker服务就必须离线部署。为提高效率,节约时间,可使用脚本一键部署。

直接使用

想快速安装的朋友可以直接下载下面的文件,放入linux系统里并解压(也可解压后再放入Linux系统服务器中)。

链接:pan.baidu.com/s/1j6S8tUdw… 提取码:lhew

在dockers文件夹内终端输入

 sh install.sh docker-17.03.0-ce.tgz

安装成功,版本为17.03.0-ce

image-20241109153204392.png

卸载

sh uninstall.sh
自己制作
  • 在新文件夹下输入
vi install.sh

按i 写入以下脚本

#!/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

按esc 然后shift + ZZ保存并退出

  • 按照以上步骤建立docker.service文件
vi 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 --selinux-enabled=false --insecure-registry=127.0.0.1
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

按esc 然后shift + ZZ保存并退出

  • 建立uninstall.sh文件
vi uninstall.sh

按i写入

#!/bin/sh
 
echo '停止docker'
systemctl stop docker
echo '删除docker.service'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件'
rm -rf /usr/bin/docker*
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功'

将官网下载的docker部署包放入脚本同级目录下,最终目录如图所示

image-20241109151542823.png 一键部署

输入:

 sh install.sh docker-17.03.0-ce.tgz

docker-17.03.0-ce.tgz 替换为你下载的docker部署包

一键卸载:

输入:

sh uninstall.sh