37 lines
1.1 KiB
Bash
37 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# ChatRoom 自动部署脚本
|
|
# 用法: ./deploy.sh [镜像地址]
|
|
# 示例: ./deploy.sh # 本地构建部署
|
|
# ./deploy.sh registry.cn-hangzhou.aliyuncs.com/xxx/chatroom:latest # 从镜像仓库拉取部署
|
|
|
|
set -e
|
|
|
|
COMPOSE_FILE="docker-compose.yml"
|
|
PORT=2779
|
|
|
|
echo "=========================================="
|
|
echo " ChatRoom 部署脚本 - 端口 $PORT"
|
|
echo "=========================================="
|
|
|
|
if [ -n "$1" ]; then
|
|
# 从远程仓库拉取镜像并部署
|
|
export CHATROOM_IMAGE="$1"
|
|
echo ">>> 拉取镜像: $CHATROOM_IMAGE"
|
|
docker compose -f "$COMPOSE_FILE" pull app
|
|
echo ">>> 启动容器..."
|
|
docker compose -f "$COMPOSE_FILE" up -d --no-build
|
|
else
|
|
# 本地构建并部署
|
|
echo ">>> 构建并启动..."
|
|
docker compose -f "$COMPOSE_FILE" up -d --build
|
|
fi
|
|
|
|
echo ""
|
|
echo ">>> 部署完成!"
|
|
echo " 服务地址: http://localhost:$PORT"
|
|
echo " WebSocket: ws://localhost:$PORT/ws"
|
|
echo ""
|
|
echo ">>> 查看日志: docker compose logs -f app"
|
|
echo ">>> 停止服务: docker compose down"
|
|
echo "=========================================="
|