diff --git a/bin/utils/base.sh b/bin/utils/base.sh index 4a7ae6a..c4181be 100644 --- a/bin/utils/base.sh +++ b/bin/utils/base.sh @@ -85,32 +85,6 @@ url_encode() { } -# 重启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 -} - # 展示当前值并询问用户新输入的值 # 用法: ask_update "提示语" "当前值(当前配置文件的值)" # 示例: diff --git a/bin/utils/docker.sh b/bin/utils/docker.sh new file mode 100644 index 0000000..4a004c8 --- /dev/null +++ b/bin/utils/docker.sh @@ -0,0 +1,51 @@ +#!/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 +}