upd
This commit is contained in:
parent
6e6ffb53a5
commit
ce9f9cc498
@ -1,12 +1,26 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0.30
|
||||
container_name: battleship_mysql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=somepassword
|
||||
- MYSQL_DATABASE=battleship
|
||||
ports:
|
||||
- "3306:3306"
|
||||
networks:
|
||||
- app-net
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
|
||||
backend:
|
||||
build: ./backend
|
||||
container_name: battleship_backend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DB_HOST=battleship-mysql
|
||||
- DB_HOST=mysql
|
||||
- DB_PORT=3306
|
||||
- DB_USER=root
|
||||
- DB_PASSWORD=somepassword
|
||||
@ -15,6 +29,8 @@ services:
|
||||
- "4000:4000"
|
||||
networks:
|
||||
- app-net
|
||||
depends_on:
|
||||
- mysql
|
||||
|
||||
frontend:
|
||||
build: ./frontend
|
||||
@ -30,3 +46,6 @@ services:
|
||||
networks:
|
||||
app-net:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
|
@ -1,34 +1,10 @@
|
||||
|
||||
echo "Preparing app..."
|
||||
|
||||
# Создаем сеть, если хотите оставить её внешней
|
||||
docker network inspect app-net >/dev/null 2>&1 || docker network create app-net
|
||||
|
||||
if ! docker image inspect mysql:8.0.30 >/dev/null 2>&1; then
|
||||
echo "MySQL image not found locally. Pulling image..."
|
||||
docker pull mysql:8.0.30
|
||||
fi
|
||||
|
||||
MYSQL_CONTAINER=$(docker ps -aq -f name=battleship-mysql)
|
||||
|
||||
if [ -n "$MYSQL_CONTAINER" ]; then
|
||||
|
||||
if [ "$(docker ps -q -f name=battleship-mysql)" ]; then
|
||||
echo "MySQL container is already running."
|
||||
else
|
||||
echo "Starting existing MySQL container..."
|
||||
docker start battleship-mysql
|
||||
docker network connect app-net battleship-mysql || true
|
||||
fi
|
||||
else
|
||||
echo "Creating and starting MySQL container..."
|
||||
docker run --network app-net --name battleship-mysql \
|
||||
-e MYSQL_ROOT_PASSWORD=somepassword \
|
||||
-e MYSQL_DATABASE=battleship \
|
||||
-p 3306:3306 \
|
||||
-d mysql:8.0.30
|
||||
fi
|
||||
|
||||
|
||||
# Собираем образы (backend, frontend) через docker-compose
|
||||
docker-compose build
|
||||
|
||||
echo "Preparation done."
|
||||
|
@ -1,10 +1,11 @@
|
||||
|
||||
echo "Removing app..."
|
||||
|
||||
# Останавливаем и удаляем все контейнеры,
|
||||
# а также volume (db_data), образы локальные (если надо)
|
||||
docker-compose down -v --rmi local
|
||||
|
||||
# Если нужно удалить базу данных, можно удалить контейнер MySQL отдельно:
|
||||
docker rm -f battleship-mysql
|
||||
docker volume rm db_data
|
||||
# Если хотите удалить и внешнюю сеть:
|
||||
docker network rm app-net || true
|
||||
|
||||
echo "App removed completely."
|
||||
|
@ -6,4 +6,5 @@ docker-compose up -d
|
||||
echo "App is running."
|
||||
echo "Frontend is available at: http://localhost:3001"
|
||||
echo "Backend is available at: http://localhost:4000"
|
||||
echo "MySQL is available at: localhost:3306"
|
||||
docker-compose ps
|
||||
|
Loading…
Reference in New Issue
Block a user