Dockerize MySQL веб-приложение - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь докеризировать веб-приложение node.js, которое подключается к базе данных mysql.Просто начал использовать докер.Не могу найти какие-либо окончательные ответы онлайн о том, как это настроить.Я понимаю, что мне нужно использовать файл «docker-compose.yaml» и использовать docker-compose.Но не уверен, какая информация должна быть введена в файл yaml.

И приложение node.js, и сервер mysql расположены на локальном компьютере, на одной машине работает докер.

имя базы данных"staff"

Вот один пример, с которым я столкнулся.Но не уверен, в каком каталоге он должен быть размещен относительно веб-приложения.Кроме того, не уверен, должен ли я где-то перечислить имя базы данных там.

version: '3'
services:
  web-app:
    build:
      context: .
      dockerfile: web-app/Dockerfile
      ports:
      - 8080:8080
    links:
      - app-db

app-db:
    build:
      context: .
      dockerfile: app-db/Dockerfile

    environment:
    - MYSQL_ROOT_PASSWORD=password
    - MYSQL_DATABASE=Optimize
    ports:
      - 3306:3306

Наконец, как должны быть структурированы контейнеры?Это будут 2 отдельных контейнера для веб-приложения и базы данных или они могут находиться в одном контейнере?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Я абсолютно согласен с предыдущим ответом.Докер сделан на уровне приложений.Таким образом, каждая сущность должна работать в отдельном контейнере.Убедитесь, что вы связываетесь с этой технологией и пытаетесь разделить все ваши сервисы внутри отдельного контейнера.

Однако у вас есть другие варианты, такие как настройка vm, lxc или jails.На самом деле, чтобы связаться с контейнеризацией, я бы рекомендовал сначала связаться с lxc.

0 голосов
/ 27 ноября 2018

У вас нет четких идей вообще:)

Давайте начнем с самого начала: как следует структурировать контейнеры?

Абсолютно два отдельных контейнера в одной сети (связаны);Вы должны понимать, что каждый контейнер должен быть отделен своей ответственностью.Здесь у нас есть бизнес-логика в контейнере и база данных в другом.

Теперь вы должны понять, как работает docker, еще до использования docker-compose;поэтому, пожалуйста, следуйте этому уроку и возвращайтесь, если у вас все еще есть проблемы: https://medium.com/@niratattri/building-a-node-js-application-and-deploying-through-docker-meet-docker-aa8ae677ea12

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...