AWS Elastic Beanstalk Docker 容器端口映射

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk Docker 容器端口映射【英文标题】:AWS Elastic Beanstalk Docker container port mapping 【发布时间】:2020-07-23 21:46:26 【问题描述】:

我有与 Elastic Beanstalk 多个 Docker-container-env 上的端口映射相关的问题。

我的 Dockerrun.aws.json 看起来像这样:


  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [
    
      "name": "web",
      "image": "exampleimage",
      "hostname": "web",
      "essential": true,
      "memory": 128,
      "portMappings": [
        
          "hostPort": 3000,
          "containerPort": 80
        
      ]
    
  ]

我的网络 dockerfile 看起来像这样:

FROM node:alpine as builder

WORKDIR '/app'
COPY ./package.json ./
RUN npm install
COPY . .

FROM nginx
EXPOSE 80
COPY --from=builder /app/build /usr/share/nginx/html
# at the end its a nginx images

这是否意味着我的 docker 容器在端口 80 上运行,而我在主机端口 3000 上运行?

如果在我的 AWS Elastic Beanstalk 上,端点就像

url-something-like-this-xxxx.com

如何访问容器?

url-something-like-this-xxxx:3000.com。 ??

非常感谢!

【问题讨论】:

【参考方案1】:

访问协议指定的端口以外的其他端口的正确语法是://: 例子

在端口 3000 上通过 http 访问网站

http://some-url.com:3000

在 8443 端口通过 https 访问网站

https://some-url.com:8443

还要确保附加到您的实例或负载均衡器的安全组允许从您的 IP 地址或 0.0.0.0/0 访问端口 3000(如果您希望它是公共的)

更新安全组指南的链接。

https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#AddRemoveRules

【讨论】:

以上是关于AWS Elastic Beanstalk Docker 容器端口映射的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk CLI 安装错误

text AWS Elastic Beanstalk

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Elastic Beanstalk 无法担任角色

AWS Elastic Beanstalk

AWS Elastic Beanstalk chown PythonPath 错误