Как правильно докеризировать приложение среднего стека? - PullRequest
0 голосов
/ 28 июня 2018

Я разрабатываю приложение со средним стеком (работает под углом 6, а не под углом js). Меня попросили докеризовать его, и, поскольку я не являюсь экспертом в Docker, мне было интересно, каков был лучший выбор: - Создайте отдельные контейнеры, один для базы данных, экспресс-приложение и угловое приложение - Развернуть весь стек в одном контейнере

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Позвольте мне рекомендовать вам использовать контейнер для каждого приложения:

  • 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
    ...
0 голосов
/ 28 июня 2018

запуск отдельных контейнеров - это способ сделать это через docker-compose, чтобы вы могли раскрутить все необходимые контейнеры всего одной командой

простой учебник: https://codereviewvideos.com/course/docker-tutorial-for-beginners/video/docker-compose-tutorial

...