Docker-无法从外部访问docker端口

IvR*_*mUm 2 amazon-ec2 go amazon-web-services docker

因此,我创建了一个新的EC2实例并在其上安装了docker。

我从(https://github.com/commonsearch/cosr-front/blob/master/INSTALL.md)部署了代码,并按照安装说明进行操作。

安装成功,我启动了服务器:

[ec2-user@ip-172-30-0-127 cosr-front]$ make docker_devserver
docker run -e DOCKER_HOST --rm -v "/home/ec2-user/cosr-front:/go/src/github.com/commonsearch/cosr-front:rw" -w /go/src/github.com/commonsearch/cosr-front -p 9700:9700 -i -t commonsearch/local-front make devserver
mkdir -p build
go build -o build/cosr-front.bin ./server
GODEBUG=gctrace=1 COSR_DEBUG=1 ./build/cosr-front.bin
2016/05/28 16:32:38 Using Docker host IP: 172.17.0.1
2016/05/28 16:32:38 Server listening on 127.0.0.1:9700 - You should open http://127.0.0.1:9700 in your browser!
Run Code Online (Sandbox Code Playgroud)

好吧,现在当我想从外部访问它时,我不能!甚至不卷曲本地服务器。

当我运行docker ps它给我正确的端口转发:

[ec2-user@ip-172-30-0-127 ~]$ docker ps
CONTAINER ID        IMAGE                                       COMMAND                  CREATED             STATUS              PORTS                                              NAMES
1a9f77e1eeb1        commonsearch/local-front                    "make devserver"         4 minutes ago       Up 4 minutes        0.0.0.0:9700->9700/tcp                             stoic_hopper
9ff00fe3e70d        commonsearch/local-elasticsearch-devindex   "/docker-entrypoint.s"   4 minutes ago       Up 4 minutes        0.0.0.0:39200->9200/tcp, 0.0.0.0:39300->9300/tcp   kickass_wilson
Run Code Online (Sandbox Code Playgroud)

这些是我的docker映像:

REPOSITORY                                  TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                                      <none>              3e205118cd3f        17 minutes ago      853.3 MB
<none>                                      <none>              1d233da1fa59        2 hours ago         955.7 MB
debian                                      jessie              ce58426c830c        4 days ago          125.1 MB
commonsearch/local-front                    latest              30de7ab48d43        7 weeks ago         1.024 GB
commonsearch/local-elasticsearch-devindex   latest              b1156ada5a24        11 weeks ago        383.2 MB
commonsearch/local-elasticsearch            latest              808e72f49b4a        3 months ago        355.2 MB
Run Code Online (Sandbox Code Playgroud)

我曾尝试禁用ipv6,谷歌为我提供了各种各样的废话,但没有成功。

有任何想法吗 ?

编辑:

另外,如果我输入docker容器的前端(使用docker exec),那么我可以ping和计算前端。

但是我不能从外面(也不是ssh,不能从我的家用电脑使用浏览器)。

还有我的码头工人版本:

Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5/1.9.1
 Built:        
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5/1.9.1
 Built:        
 OS/Arch:      linux/amd64
Run Code Online (Sandbox Code Playgroud)

IvR*_*mUm 5

我在github上发了个大问题,一个人挽救了这一天。

这是他的回应:

服务器在127.0.0.1:9700上侦听您的应用程序在localhost上侦听。本地主机的作用域仅限于容器本身。因此,要连接到它,您必须在容器内。要解决此问题,您需要让您的应用程序改为监听0.0.0.0。