先附上官网安装包链接:https://download.docker.com/linux/static/stable/x86_64/
我在这里安装的是docker-23.0.6.tgz版本。
1.准备docker.service内容:
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
# 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
2.准备install.sh安装脚本内容:
#!/bin/sh
echo '解压tar包...'
tar -xvf $1
echo '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/local/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
3.准备unistall.sh卸载脚本内容:
#!/bin/sh
echo '删除docker.service...'
rm -f /etc/systemd/system/docker.service
echo '删除docker文件...'
rm -rf /usr/local/bin/docker*
echo '重新加载配置文件'
systemctl daemon-reload
echo '卸载成功...'
4.分别进入文件docker.service、install.sh、uninstall.sh的 vim 编辑模式下,键入命令:
:set fileformat=unix
这一步是防止运行报错,因为脚本是直接从Windows复制过来的,所以在linux操作系统中需改一下编码格式。
docker-compose安装脚本如下:
#!/bin/sh
echo '解压tar包...'
tar -xvf $1
echo '将docker-compose目录移到/usr/local/bin/下'
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
echo '授权'
sudo chmod +x /usr/local/bin/docker-compose
echo 'docker-compose安装成功...'
docker-compose -v
docker-compose卸载脚本如下:
#!/bin/sh
echo '删除docker-compose...'
sudo rm /usr/local/bin/docker-compose
echo '删除成功'