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 安装错误