Отображение портов Docker на AWS Elastic Beanstalk - PullRequest
0 голосов
/ 03 июля 2019

У меня есть контейнер Docker, указанный через Dockerfile, который должен работать с флагом -p, чтобы он функционировал должным образом. На моей локальной машине, после запуска

docker run -d -p 5000:5000 blagtagger:v0.4.3

отображение портов отображается как 0.0.0.0:5000->5000/tcp, и все работает гладко.

Теперь мне нужно развернуть его на AWS Elastic Beanstalk, поэтому я подготовил файл Dockerrun.aws.json следующим образом:

{
  "AWSEBDockerrunVersion": "1",
  "Ports": [
    {
      "ContainerPort": 5000,
      "HostPort": 5000
    }
  ]
}

Однако порт контейнера, похоже, не отображается правильно на порт хоста. Сопоставление портов отображается как 5000/tcp.

Как я могу попросить Beanstalk установить отображение на 0.0.0.0:5000->5000/tcp?

1 Ответ

1 голос
/ 04 июля 2019

Оказывается, нет элегантного способа сделать это. Вдоль строк ответов здесь и здесь я добавил следующее в файл с именем .ebextensions/01-commands.config:

commands:
    00001_add_port_mapping:
        cwd: /tmp
        command: 'sed -i "s/docker run -d/docker run -p 5000:5000 -d/" /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh'

и отклонил файл Dockerrun.aws.json.

...