Пытаюсь залить это дело все на ECS, а он ругается
service postgresdb doesn't define a Docker image to run: incompatible attribute
мой докер-компоуз
version: "3.8"
services:
postgresdb:
build:
context: ./docker/postgres
dockerfile: Dockerfile
environment:
- POSTGRES_PASSWORD=****
volumes:
- ./docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
ports:
- "5432:5432"
web:
build:
context: ./
dockerfile: Dockerfile
volumes:
- ./:/usr/src/app/
depends_on:
- postgresdb
ports:
- "8000:8000"
nginx:
build:
context: ./docker/nginx
dockerfile: Dockerfile
volumes:
- ./static/:/static
depends_on:
- web
- postgresdb
ports:
- "80:80"
Докерфайл базы
FROM postgres
COPY init.sql /docker-entrypoint-initdb.d
В описании каждого из сервисов не хватает поля image
Так ведь у меня же в context докерфайлы указаны
Этапы сборки и запуска должны быть разделены
Помоги пожалуйста в таком случае разрешить эту ситуацию. Просто добавить image перед context не поможет?
ECS это среда для запуска контейнеров. Для запуска контейнера нужен образ. Образ ты собираешь локально или в CI джобе, складываешь в registry, а затем указываешь его в docker-compose.yml
Тогда docker-compose.yml у меня по сути будет состоять из? services: db: image: myuser/postgres web: image: myuser/web nginx: image: myuser/nginx
Обсуждают сегодня