继续提交
This commit is contained in:
35
docker-build-run.sh
Normal file
35
docker-build-run.sh
Normal file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
IMAGE_NAME=${IMAGE_NAME:-mengyadriftbottle}
|
||||
CONTAINER_NAME=${CONTAINER_NAME:-mengyadriftbottle}
|
||||
FRONTEND_PORT=${FRONTEND_PORT:-6767}
|
||||
BACKEND_PORT=${BACKEND_PORT:-5002}
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
DATA_DIR="${DATA_DIR:-}"
|
||||
|
||||
echo "[1/3] Building image $IMAGE_NAME ..."
|
||||
docker build -t "$IMAGE_NAME" "$PROJECT_DIR"
|
||||
|
||||
echo "[2/3] Removing old container if it exists ..."
|
||||
if docker ps -a --format '{{.Names}}' | grep -Eq "^${CONTAINER_NAME}$"; then
|
||||
docker rm -f "$CONTAINER_NAME" >/dev/null
|
||||
fi
|
||||
|
||||
echo "[3/3] Starting container $CONTAINER_NAME ..."
|
||||
RUN_ARGS=(
|
||||
-d
|
||||
--name "$CONTAINER_NAME"
|
||||
-p ${FRONTEND_PORT}:6767
|
||||
-e BACKEND_PORT=5002
|
||||
)
|
||||
|
||||
if [ -n "$DATA_DIR" ]; then
|
||||
mkdir -p "$DATA_DIR"
|
||||
RUN_ARGS+=( -v "$DATA_DIR:/app/data" )
|
||||
fi
|
||||
|
||||
docker run "${RUN_ARGS[@]}" "$IMAGE_NAME"
|
||||
|
||||
echo "Container is up. Frontend: http://localhost:${FRONTEND_PORT}"
|
||||
echo "Logs: docker logs -f ${CONTAINER_NAME}"
|
||||
Reference in New Issue
Block a user