diff --git a/bin/utils/base.sh b/bin/utils/base.sh index 995bfaf..d209876 100644 --- a/bin/utils/base.sh +++ b/bin/utils/base.sh @@ -142,4 +142,28 @@ check_config_file(){ echo "配置文件不是有效的JSON格式, 请重新生成配置文件." exit 1 fi +} + +restart_docker() { + local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/../" # 脚本文件夹绝对路径 + + # 如果容器未运行,提示启动 + local running_count=$(docker-compose -f $script_dir/../docker-compose.yml ps -q | wc -l) + if [ "$running_count" -eq 0 ]; then + read -p "容器未启动,是否启动容器?(y/n): " choice + case "$choice" in + Y|y) + docker-compose -f $script_dir/../docker-compose.yml up -d + return + ;; + *) + echo "已取消启动" + return + ;; + esac + fi + + echo "正在重启容器..." + docker-compose -f $script_dir/../docker-compose.yml down + docker-compose -f $script_dir/../docker-compose.yml up -d } \ No newline at end of file diff --git a/install.sh b/install.sh index 641b798..0a95e80 100644 --- a/install.sh +++ b/install.sh @@ -73,11 +73,13 @@ main(){ # 修改域名 check_config_file bash ./bin/update_domain.sh + restart_docker ;; 5) # 修改端口 check_config_file bash ./bin/update_port.sh + restart_docker ;; 6) # 启动容器 @@ -92,6 +94,7 @@ main(){ 8) # 更新镜像 bash ./bin/update_docker_images.sh + restart_docker ;; *) echo "无效的选择, 请重新选择."