upd
This commit is contained in:
parent
6e6ffb53a5
commit
ce9f9cc498
@ -1,12 +1,26 @@
|
|||||||
version: '3.8'
|
version: '3.8'
|
||||||
|
|
||||||
services:
|
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:
|
backend:
|
||||||
build: ./backend
|
build: ./backend
|
||||||
container_name: battleship_backend
|
container_name: battleship_backend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- DB_HOST=battleship-mysql
|
- DB_HOST=mysql
|
||||||
- DB_PORT=3306
|
- DB_PORT=3306
|
||||||
- DB_USER=root
|
- DB_USER=root
|
||||||
- DB_PASSWORD=somepassword
|
- DB_PASSWORD=somepassword
|
||||||
@ -15,6 +29,8 @@ services:
|
|||||||
- "4000:4000"
|
- "4000:4000"
|
||||||
networks:
|
networks:
|
||||||
- app-net
|
- app-net
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
|
||||||
frontend:
|
frontend:
|
||||||
build: ./frontend
|
build: ./frontend
|
||||||
@ -30,3 +46,6 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
app-net:
|
app-net:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
@ -1,34 +1,10 @@
|
|||||||
|
|
||||||
echo "Preparing app..."
|
echo "Preparing app..."
|
||||||
|
|
||||||
|
# Создаем сеть, если хотите оставить её внешней
|
||||||
docker network inspect app-net >/dev/null 2>&1 || docker network create app-net
|
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
|
# Собираем образы (backend, frontend) через docker-compose
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
docker-compose build
|
docker-compose build
|
||||||
|
|
||||||
echo "Preparation done."
|
echo "Preparation done."
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
|
|
||||||
echo "Removing app..."
|
echo "Removing app..."
|
||||||
|
|
||||||
|
# Останавливаем и удаляем все контейнеры,
|
||||||
|
# а также volume (db_data), образы локальные (если надо)
|
||||||
docker-compose down -v --rmi local
|
docker-compose down -v --rmi local
|
||||||
|
|
||||||
# Если нужно удалить базу данных, можно удалить контейнер MySQL отдельно:
|
# Если хотите удалить и внешнюю сеть:
|
||||||
docker rm -f battleship-mysql
|
docker network rm app-net || true
|
||||||
docker volume rm db_data
|
|
||||||
|
|
||||||
echo "App removed completely."
|
echo "App removed completely."
|
||||||
|
@ -6,4 +6,5 @@ docker-compose up -d
|
|||||||
echo "App is running."
|
echo "App is running."
|
||||||
echo "Frontend is available at: http://localhost:3001"
|
echo "Frontend is available at: http://localhost:3001"
|
||||||
echo "Backend is available at: http://localhost:4000"
|
echo "Backend is available at: http://localhost:4000"
|
||||||
|
echo "MySQL is available at: localhost:3306"
|
||||||
docker-compose ps
|
docker-compose ps
|
||||||
|
Loading…
Reference in New Issue
Block a user