42 lines
1.1 KiB
Bash
Executable File
42 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
container_name="nginx"
|
|
network_name="main"
|
|
subnet="192.168.250.0/24"
|
|
|
|
# 检查网络是否存在
|
|
function network_check {
|
|
if ! docker network ls | grep -w "$network_name" > /dev/null 2>&1; then
|
|
echo "Network $network_name does not exist. Creating it..."
|
|
docker network create --subnet="$subnet" "$network_name"
|
|
fi
|
|
}
|
|
|
|
# 启动服务
|
|
function start {
|
|
network_check # 检查并创建网络(如有必要)
|
|
docker compose up -d # 启动服务
|
|
}
|
|
|
|
# 处理脚本参数
|
|
case "$1" in
|
|
start)
|
|
start # 调用 start 函数
|
|
;;
|
|
stop)
|
|
docker compose down # 停止服务
|
|
;;
|
|
restart)
|
|
docker compose down # 停止服务
|
|
start # 启动服务
|
|
;;
|
|
reload)
|
|
docker exec -i "$container_name" service nginx reload # 重载 Nginx 配置
|
|
;;
|
|
status)
|
|
docker exec -i "$container_name" service nginx status # 查看 Nginx 状态
|
|
;;
|
|
*)
|
|
echo "Usage: $0 [start|stop|restart|reload|status]" # 打印用法信息
|
|
;;
|
|
esac |