AWS实例拒绝连接?

时间:2018-04-23 19:09:21

标签: amazon-web-services docker

我有一个linux AWS实例。我正在运行以下脚本:

#!/usr/bin/env bash

    #This script installs java, sbt and the application
    #Run this script on a new EC2 instance as the user-data script, which is run by `root` on machine start-up.
    sudo yum update -y

    sudo yum install -y docker

sudo service docker start

docker run repo/carrie

一切都安装完毕,我在日志中收到以下消息:

REST interface bound to /0.0.0.0:8080

然而,当我尝试实际访问端口时:

curl 0.0.0.0/8080

我收到以下消息:

Failed to connect to 0.0.0.0 port 8080: Connection refused

我已尝试编辑入站规则,以便8080已打开,但似乎无效。也许是因为我在实例启动后编辑了规则?

2 个答案:

答案 0 :(得分:1)

您必须在docker run命令

中将容器的端口发布到主机
$ docker run --help
...
-p, --publish list                   Publish a container's port(s) to the host
...

如果容器中的进程侦听端口80:

,则脚本的最后一行应如下所示
docker run -p 8080:80 repo/carrie

答案 1 :(得分:0)

容器有自己的接口,因此主机的0.0.0.0不适用。

告诉docker将容器端口8080绑定到主机:

docker run -p 8080:8080 repo/carrie