- Я внедрил докеризованное приложение на своем локальном компьютере и хочу развернуть его в AWS.
- Я выбрал EC2 для основного приложения докера, RDS для базы данных и ECRдля передачи моих локальных образов докера в мой экземпляр EC2.
На моем локальном компьютере у меня есть этот файл для создания моих образов докера для разработки
docker-compose.yml:
version: '2'<br>
services:<br>
nginx:<br>
container_name: nginx-angular<br>
image: nginx-angular
build:
context: ./frontend
dockerfile: /.docker/nginx.dockerfile
ports:
- "80:80"
- "443:443"
depends_on:
- web
web:
container_name: django-app
build:
context: ./backend
dockerfile: /django.dockerfile
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
depends_on:
- db
environment:
PROD_ENV_FRONTEND_BASE_URL: http://192.168.99.100/
MODE_ENV: PROD
db:
container_name: django-db
image: postgres:10
Когда я собираю свое приложение (сборка docker-compose), создается 7 образов докера, когда я запускаю приложение (сборка docker-compose) 3работают контейнеры (по 1 для каждой службы в файле yml).
Q1
Я должен перейти к EC2 через ECR, только 3 изображениякоторые соответствуют работающим контейнерам или всем 7 изображениям?
Обратите внимание, что в EC2 я использую RDS вместо док-контейнера для своей базы данных.
Итак, здесьэто yml для создания образов докера, которые я отправлю в EC2:
docker-compose-aws.yml:
version: '2'
services:
nginx:
container_name: nginx-angular
image: nginx-angular
build:
context: ./frontend
dockerfile: /.docker/nginx.dockerfile
ports:
- "80:80"
- "443:443"
depends_on:
- web
web:
container_name: django-app
build:
context: ./backend
dockerfile: /django.dockerfile
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
environment:
PROD_ENV_FRONTEND_BASE_URL: <wy_web_app_domain>
MODE_ENV: PROD_AWS
DB_USER: postgres_user
DB_NAME: postgres_db
DB_PASSWORD: <db_password>
DB_HOST: <host_of_my_RDS_DB>
Q2
В любом случае, как запустить мое приложение в AWSEC2? Нужно ли мне создавать новый файл ".yml", в котором используются изображения, которые я уже передал в EC2 через ECR?