Позвольте мне рекомендовать вам использовать контейнер для каждого приложения:
- 1 контейнер для угловых
- 1 контейнер для приложения
- 1 контейнер для базы данных.
Помимо определения одного Dockerfile для каждого, вы можете определить docker-compose.yml
, который может создавать и развертывать все из них.
Наконец, в этом файле docker-compose вы можете монтировать тома для хранения данных базы данных внешних контейнеров (например: / var / lib / mysql для mysql db), потому что при выходе из контейнера вся информация, новая из запуска контейнера, теряется.
Управление и определение некоторых ARGS / ENV для параметров БД.
docker-compose.yml пример:
version: '3.6'
services:
mysql:
container_name: your_db_container
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this
MYSQL_USER: 'test'
MYSQL_PASS: 'pass'
volumes:
- /tmp/your_db_dir:/var/lib/mysql
ports:
- "3306:3306"
your_app:
build:
context: ./your_folder_dockerfile
dockerfile: Dockerfile_app
...
angular_serv:
image: angular-cli-docker-ootb:latest
...