Как поставить многоконтейнерный докер на aws - PullRequest
0 голосов
/ 04 мая 2019

Я создал веб-приложение.Мое веб-приложение содержит интерфейс API, написанный на Python Flask, интерфейс написан на Angular, базу данных Mysql и nginx в качестве прокси.Все эти компоненты работают в контейнерах Docker, и я запускаю это с помощью команды docker-compose.Теперь я хочу опубликовать в AWS.Я не знаю, куда положить все эти контейнеры.Как создать архитектуру Должен ли я получить удовольствие от Flask и Angular в ECS EC2, базы данных Mysql в RDS и NGINX в экземпляре EC2.Я не знаю, как связать это все экземпляры.Потому что docker compose связывает эти контейнеры с другими контейнерами и определяет, какие контейнеры используют, какие тома.

Я пытался установить angular и flask на службу ECS, но я не знаю, куда поместить другие контейнеры.

Мой docker compose


version: '3.0'

services:

  database:
    image: mysqlb
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: "Restaurant"
      MYSQL_ROOT_PASSWORD: "testtest12"
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./Sql/databaseSql/:/var/lib/mysql
      - ./Sql/SqlScripts/:/docker-entrypoint-initdb.d/

  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./docker-nginx/default.conf:/etc/nginx/conf.d/default.conf
    links:
      - angular:waiter_angular_1
      - flask:waiter_flask_1
  flask:
    image: flask
    ports:
      - "5000:5000"
    volumes:
      - ./api/run.py:/app/run.py
      - ./api/api:/app/api
    links:
      - database:waiter_database_1


  angular:
    image: angular
    ports:
      - "4200:4200"
    volumes:
        - ./docker-angular/:/usr/src/app/
        - /usr/src/app/node_modules
    links:
      - flask:waiter_flask_1

Мой угловой dockerfile

FROM node:10.15
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
RUN npm audit fix --force
COPY . .
EXPOSE 4200
CMD npm run start


Мой докер-файл Flask

FROM ubuntu:16.04
RUN apt update -y
RUN apt upgrade -y
RUN apt install python3 -y
RUN apt install python3-pip -y
RUN export DEBIAN_FRONTEND=noninteractive
RUN apt install -y tzdata
RUN ln -fs /usr/share/zoneinfo/Europe/Warsaw /etc/localtime
RUN dpkg-reconfigure --frontend noninteractive tzdata
COPY ./requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip3 install -r requirements.txt
RUN pip3 install --upgrade pip
COPY ./run.py /app/run.py
COPY ./api /app/api
ENTRYPOINT ["python3"]
CMD ["run.py"]

Мой Mysql dockerfile

FROM mysql:latest
ENV MYSQL_DATABASE=Restaurant \ 
    MYSQL_ROOT_PASSWORD=testtest12
ADD ./SqlScripts/Table.sql /docker-entrypoint-initdb.d
EXPOSE 3306
RUN useradd foo
RUN chown -R foo:foo /var/lib/mysql
USER foo
VOLUME /var/lib/mysql

Я ищунекоторые учебные пособия и советы, которые помогут мне начать публиковать приложение.

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