Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将Docker部署到AWS Elastic Beanstalk--如何将端口转发到主机?(端口绑定)_Amazon Web Services_Amazon Ec2_Docker_Amazon Elastic Beanstalk_Circleci - Fatal编程技术网

Amazon web services 将Docker部署到AWS Elastic Beanstalk--如何将端口转发到主机?(端口绑定)

Amazon web services 将Docker部署到AWS Elastic Beanstalk--如何将端口转发到主机?(端口绑定),amazon-web-services,amazon-ec2,docker,amazon-elastic-beanstalk,circleci,Amazon Web Services,Amazon Ec2,Docker,Amazon Elastic Beanstalk,Circleci,我有一个与CircleCI建立的项目,我正在使用它。我的EBS环境是一个单容器、自动缩放的web环境。我正在尝试运行一个在原始套接字端口8080上侦听的服务 我的Dockerfile: FROM golang:1.4.2 ... EXPOSE 8080 My Dockerrun.aws.json.template: { "AWSEBDockerrunVersion": "1", "Authentication": { "Bucket": "<bucket>",

我有一个与CircleCI建立的项目,我正在使用它。我的EBS环境是一个单容器、自动缩放的web环境。我正在尝试运行一个在原始套接字端口8080上侦听的服务

我的Dockerfile:

FROM golang:1.4.2

...

EXPOSE 8080
My Dockerrun.aws.json.template:

{
  "AWSEBDockerrunVersion": "1",
  "Authentication": {
    "Bucket": "<bucket>",
    "Key": "<key>"
  },
  "Image": {
    "Name": "project/hello:<TAG>",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "8080"
    }
  ]
}
我希望看到的是
->8080
或容器中将其转发到主机的任何内容

当我在容器上执行
docker inspect
时,我还发现这两种配置不是我想要的:

    "PortBindings": {},
    "PublishAllPorts": false,
如何在应用程序中触发端口绑定


提前谢谢。

原来我对Docker的网络堆栈的工作原理有误解。当端口公开但未发布时,它仍然可以通过Docker容器的专用IP地址供本地网络接口使用。您可以通过检查
docker inspect
来获取此IP地址

我可以做
curl:8080
,而不是做
curl:8080


在我的EBS部署中,nginx被自动设置为将(HTTP)流量从端口80转发到该内部专用端口。

在rails容器中(使用puma的端口3000),默认情况下,rails服务器只绑定到侦听接口,我不得不使用-b选项绑定0.0.0,这就解决了问题

在react中,我没有相同的问题,因为npm包默认绑定所有接口

    "PortBindings": {},
    "PublishAllPorts": false,