123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #!/bin/sh
- # Default values
- CONTAINER_NAME="t11"
- CONTAINER_IMAGE="t18"
- PORT="3002"
- SHARED_NETWORK="main_netwok"
- LOG_DIR="/rdata/logs"
- VOLUMES=""
- # Parse command-line arguments
- while [ $# -gt 0 ]; do
- case "$1" in
- --name) CONTAINER_NAME="$2"; shift; shift ;;
- --image) CONTAINER_IMAGE="$2"; shift; shift ;;
- --port) PORT="$2"; shift; shift ;;
- --network) SHARED_NETWORK="$2"; shift; shift ;;
- --log-dir) LOG_DIR="$2"; shift; shift ;;
- -v) VOLUMES="$VOLUMES -v \"$2\""; shift; shift ;;
- *) echo "Unknown parameter passed: $1"; exit 1 ;;
- esac
- done
- # Remove existing container if it exists
- docker ps -a --filter "name=$CONTAINER_NAME" --format "{{.ID}}" | xargs -r docker rm -f
- # Check if network exists, create if not
- if ! docker network inspect "$SHARED_NETWORK" > /dev/null 2>&1; then
- echo "Creating network: $SHARED_NETWORK"
- docker network create "$SHARED_NETWORK"
- fi
- # Start the container in detached mode
- docker run -d -p "$PORT:3000" \
- --name="$CONTAINER_NAME" \
- -e HOST=0.0.0.0 \
- -e WDS_SOCKET_HOST=0.0.0.0 \
- -e WDS_SOCKET_PORT=$PORT \
- -v "$LOG_DIR/containers/$CONTAINER_NAME:/app_logs" \
- -v "/rdata/entrypoint/entrypoint.sh:/entrypoint.sh" \
- -v "/rdata/runs/t14/src:/app/src" \
- -v "/rdata/runs/t14/public:/app/public" \
- "$CONTAINER_IMAGE"
- # Redirect container logs to a file
- mkdir -p "$LOG_DIR/containers/$CONTAINER_NAME"
- docker exec -it "$CONTAINER_NAME" sh /entrypoint.sh
- docker exec -it "$CONTAINER_NAME" sh -c 'echo "" > /etc/motd'
- echo "\nStarting virtual machine ..." > "$LOG_DIR/containers/$CONTAINER_NAME/log.log"
- echo "Reserving virtual disk and RAM space ...\n\n" | tee -a "$LOG_DIR/containers/$CONTAINER_NAME/log.log"
- docker logs -f "$CONTAINER_NAME" | tee -a "$LOG_DIR/containers/$CONTAINER_NAME/log.log" 2>&1 &
|