簡體   English   中英

AWS Elastic Beanstalk上的Docker端口映射

[英]Docker port mapping on AWS Elastic Beanstalk

我有一個通過Dockerfile指定的Docker容器,該容器必須與-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

事實證明,沒有完美的方法可以做到這一點。 按照此處此處的答案,我在名為.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文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM