Архитектура промежуточного / производственного докера в экземпляре виртуальной машины GCP? - PullRequest
0 голосов
/ 27 сентября 2019

Я создал экземпляр GCP MV, используя CentOS 7, и хочу развернуть на нем, используя Docker:

  • два контейнера для производства
    • один для производства
    • один для резервного копирования в случае срочной ошибки
    • один для технического обслуживания
  • один контейнер для подготовки
  • один контейнер для БД (mongodb)
  • один контейнер для панели администратора

Я уже создал его, но я не думаю, что моя папка / архитектура очень эффективна, и я не нахожу какой-либо лучший способ создания докера-app.

После входа в мой экземпляр с помощью команды GCP я нахожусь в своем домашнем каталоге: / home / current-user-directory /

Прежде всего, пользователи используют этот проект иу них другое имя пользователя.Если они войдут в него, они попадут в каталог / home / xxx ... Как войти в обычный каталог?пример /home/my-project-directory.

Внутри этого каталога / home / моя папка

- /apps/
- - /project-name/
- - - /db/
- - - /admin/
- - - /api/

внутри / db / У меня есть файл docker-compose

/ db / docker-compose

version: "3"
services:
### MongoDB ##############################################
  mongo:
    container_name: app_mongo
    restart: "always"
    image: mongo
    command: mongod --port 27017 --auth
    ports:
      - "27017:27017"
    volumes:
      - /data/db:/data/db
    networks:
      - app_bridge
networks:
  app_bridge:
    driver: bridge

/ api / docker-compose

version: '3'
services:
  api:
    container_name: api
    build:
      context: .
      dockerfile: ./docker/api/Dockerfile
    ports:
      - "80:8082"
      - "443:443"
    restart: always
    environment:
      - NODE_ENV=prod
      - MONGO_URI=mongo
      - MONGO_PORT=27017
      - MONGO_DB=app
      - PORT=8082
    networks:
      - db_app_bridge
networks:
  db_app_bridge:
    external: true

Dockerfile

FROM node:9.5-slim
ENV DEBUG="api:*"

RUN mkdir -p /api
WORKDIR /api

COPY ./api ./

EXPOSE 8082
CMD /api/bin/www

Я еще не создал файл docker-compose для подготовки и обслуживания.

Я хотел бы знать, какова эта лучшая практика для такого проекта.Это хороший или плохой способ?

...