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
卸载
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部署包放入脚本同级目录下,最终目录如图所示
一键部署
输入:
sh install.sh docker-17.03.0-ce.tgz
docker-17.03.0-ce.tgz 替换为你下载的docker部署包
一键卸载:
输入:
sh uninstall.sh