涉及到的文件有 1) shell脚本 docker)服务描述文件 3)docker离线安装包

shell自解压脚本(ins.sh)

#!/bin/bash
preline=14
line=`wc -l $0|awk '{print $1}'`
line=`expr $line - $preline`
echo *****************extract docker**************
echo must use -zxv ,dont use tar zxvf
rm -rf docker
tail -n $line $0 | tar -zxv 
cp docker/* /usr/bin/
cp docker/docker.service /etc/systemd/system/docker.service
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl enable docker.service
ret=$?
exit $ret
 

注意在Ins.sh脚本的最后一行 exit $ret后面不要再有换行 否则行数对不上

docker服务描述文件(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
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

StartLimitBurst=3

StartLimitInterval=60s

LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

Delegate=yes

KillMode=process

[Install]
WantedBy=multi-user.target

Docker离线安装包  下载地址: https://download.docker.com/linux/static/stable/x86_64

文件docker-20.10.10.tgz下载完成并解压之后,可以将服务描述文件docker.service放到解压后的文件夹中并重新打成压缩包 docker-20.10.10-service.tar

 合并 shell脚本(ins.sh)和docker压缩包

使用cat命令合并 cat ins.sh docker-20.10.10-service.tar > installdockerservice.sh

将合并完成的自解压shell脚本 installdockerservice.sh 拷贝到服务器上 并赋予可读可写可执行的权限

chmod +rwx installdockerservice.sh

然后执行 ./installdockerservice.sh 就可以一键安装成docker服务了

docker安装成服务之后就可以使用systemctl 命令来管理

小结: 上述自解压脚本 是shell脚本与压缩包结合体,适用于各种一键安装的场景。特别是在内网隔离环境下,往往能够大大提升部署的效率,建议多多使用。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐