From 38e92005d082f8082a398be13baf984c7b7a21ba Mon Sep 17 00:00:00 2001 From: Olia Lisa Date: Fri, 22 May 2026 00:13:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BBbase=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9A=84docker=E5=87=BD=E6=95=B0=E5=88=B0=E6=96=B0=E6=96=87?= =?UTF-8?q?=E4=BB=B6docker.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/utils/base.sh | 26 ----------------------- bin/utils/docker.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 26 deletions(-) create mode 100644 bin/utils/docker.sh 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 +}