-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild-docker.sh
executable file
·46 lines (40 loc) · 1.3 KB
/
build-docker.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash
# Define variables
IMAGE_NAME="websocket-demo"
IMAGE_TAG=${1:-latest}
CONTEXT_PATH=${2:-""}
# Check if Docker is installed and running
if ! docker info > /dev/null 2>&1; then
echo "Error: Docker is not running or not installed"
exit 1
fi
# Clean any previous builds
echo "Cleaning up previous Docker builds..."
docker-compose down -v 2>/dev/null || true
# Check if we need to use a context path
if [ -n "$CONTEXT_PATH" ]; then
echo "Building with API_CONTEXT_PATH=$CONTEXT_PATH"
export API_CONTEXT_PATH=$CONTEXT_PATH
sed -i.bak "s/API_CONTEXT_PATH=.*/API_CONTEXT_PATH=$CONTEXT_PATH/" docker-compose.yml
rm -f docker-compose.yml.bak
else
echo "Building with empty API_CONTEXT_PATH"
export API_CONTEXT_PATH=
sed -i.bak "s/API_CONTEXT_PATH=.*/API_CONTEXT_PATH=/" docker-compose.yml
rm -f docker-compose.yml.bak
fi
# Build the Docker image
echo "Building Docker image: $IMAGE_NAME:$IMAGE_TAG"
docker-compose build
echo ""
echo "Docker image built successfully!"
echo ""
echo "You can now run the application with:"
echo "docker-compose up"
echo ""
if [ -n "$CONTEXT_PATH" ]; then
echo "The application will be available at: http://localhost:8080$CONTEXT_PATH"
else
echo "The application will be available at: http://localhost:8080"
fi
echo "Use docker-compose up -d to run in detached mode"