61 lines
1.7 KiB
Bash
61 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
#重启docker容器
|
|
restart_docker() {
|
|
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
|
|
local COMPOSE_FILE="$SCRIPT_DIR/../docker-compose.yml"
|
|
|
|
# 如果容器未运行,提示启动
|
|
local RUNNING_COUNT=$(docker compose -f $COMPOSE_FILE ps -q | wc -l)
|
|
if [ "$RUNNING_COUNT" -eq 0 ]; then
|
|
read -p "容器未启动,是否启动容器?(y/n): " CHOICE
|
|
case "$CHOICE" in
|
|
Y|y)
|
|
docker compose -f $COMPOSE_FILE up -d
|
|
return
|
|
;;
|
|
*)
|
|
echo "已取消启动"
|
|
return
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
echo "正在重启容器..."
|
|
docker compose -f $COMPOSE_FILE down
|
|
docker compose -f $COMPOSE_FILE up -d
|
|
}
|
|
|
|
|
|
update_docker_images(){
|
|
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
|
|
local COMPOSE_FILE="$SCRIPT_DIR/../docker-compose.yml" # docker-compose.yml文件路径
|
|
|
|
# 检查是否存在 docker-compose.yml 文件
|
|
if [ ! -f $COMPOSE_FILE ]; then
|
|
echo "Error: docker-compose.yml 文件不存在."
|
|
exit 1
|
|
fi
|
|
|
|
echo "正在关闭容器.."
|
|
docker compose -f $COMPOSE_FILE down
|
|
|
|
echo "正在更新镜像.."
|
|
docker compose -f $COMPOSE_FILE pull
|
|
|
|
echo "正在删除未使用的镜像..."
|
|
docker image prune -f
|
|
|
|
echo "正在启动容器.."
|
|
docker compose -f $COMPOSE_FILE up -d
|
|
}
|
|
|
|
# 检查docker版本是否支持docker compose子命令
|
|
check_docker_compose(){
|
|
# 检查 docker compose 子命令是否可用
|
|
if ! docker compose version &>/dev/null; then
|
|
echo "Docker 不支持 'compose' 子命令,请升级 Docker"
|
|
exit 1
|
|
fi
|
|
}
|