Как запустить docker через docker - собрать в ecs2 fargate - PullRequest
0 голосов
/ 26 мая 2020

Мне нужно добавить extra_hosts в мой контейнер. Вот файл docker -compose

version: '3'
services:
  nodejs:
    extra_hosts:
      - "<name here>:<ip here>"
      - "<name here>:<ip here>"
    dns:
      - <ip here>
      - <ip here>
      - <ip here>
    network_mode: 'host'
    build:
      context: .
      dockerfile: Dockerfile

Я запускаю контейнер локально и регистрирую / etc / hosts в приложении. Если я запускаю контейнер с помощью docker-compose up, я вижу дополнительные хосты, добавленные в / etc / hosts

Если я запускаю контейнер через docker run <container> файл хоста не изменяется. То же самое происходит при развертывании AWS на EC2 Fargate.

Есть ли способ запустить контейнер в Fargate с docker-compose up? Или любое другое решение, которое запустит контейнер на фаргейте в соответствии с файлом docker -compose?

Спасибо.

1 Ответ

0 голосов
/ 26 мая 2020

Если вы запустите показанный файл docker -compose, вы действительно добавите дополнительные хосты в файл /etc/hosts из-за записи extra_hosts в вашем yaml-файле.

Чтобы запустить контейнер с docker-run вы должны добавить к команде флаги --add-host [1].

Таким образом, ваша команда будет выглядеть так:

docker-run <container> --add-host "<name here>:<ip here>" --add-host "<name here>:<ip here>" 

[1] https://docs.docker.com/engine/reference/run/#managing -etchosts

...