目录
1.docker相关
1.1.安装docker和docker-compose
新建安装install_docker.sh脚本如下:
#!/usr/bin/env bash
#获取当前路径
base_dir=$(cd "$(dirname "$0")";pwd)
#docker安装包目录
docker_dir=${base_dir}/docker
#成功信息输出
success_print() {
echo -e "\033[32m $1 \033[0m"
}
#失败信息输出
error_print() {
echo -e "\033[31m $1 \033[0m"
}
#安装docker
install_docker(){
#解压安装包,移动文件至bin,将docker注册为service
cd ${docker_dir}
tar zxvf docker-20.10.15.tgz
cp docker/* /usr/bin/
cp docker.service /usr/lib/systemd/system/
chmod +x /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker && systemctl enable docker.service
success_print "\n------ Docker successfully installed and started ------\n"
}
if [ -z "$(command -v docker)" ]; then
install_docker
fi
if [ -z "$(command -v docker)" ]; then
error_print "\n------ error: docker command not found, please try again. ------\n"
exit
fi
#安装docker-composer
if [ -z "$(command -v docker-compose)" ]; then
cp ${docker_dir}/docker-compose /usr/local/bin
chmod +x /usr/local/bin/docker-compose
fi
if [ -z "$(command -v docker-compose)" ]; then
error_print "\n------ error: docker-compose command not found, please try again. ------\n"
exit
fi
success_print "\n------ install finished ------\n"
涉及到的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
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
1.2.卸载docker
docker的脚本uninstall_docker.sh,如下:
#!/bin/sh
echo "start uninstalling docker"
echo "======================================="
# 停止docker服务
sudo systemctl stop docker
# 杀死docker进程(为防止特殊情况下有残留的docker进程)
# ps -ef | grep docker | awk '{print $2}' | xargs sudo kill -s 9
# 删除执行状态文件的根目录
sudo rm -rf /run/docker
# 删除系统服务配置文件
su