#!/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 }