泊坞内的GAE。 不能暴露8080

我有一个GAE应用程序和一群人在工作,这样可以节省人们设置所有依赖关系的麻烦,而且我希望允许他们在Docker容器中运行gae开发服务器。

我的dockerfile结束于:

CMD dev_appserver.py app_localhost.yaml 

而我的docker撰写就像:

 version: '3' services: my_image: build: ./my_image image: my_image ports: - "8080:8080" - "8000:8000" volumes: - ./my_image:/usr/src/ 

build设这个工作正常。 而且用docker-compute up运行它似乎也能正常工作。 我的意思是,它有友好的输出说默认模块是可以在8080和所有的好东西。

但是,如果我通过铬访问localhose:8080我得到ERR_SOCKET_NOT_CONNECTED。 如果我尝试curl它,我得到curl: (56) Recv failure: Connection reset by peer

这一切运行良好,并在容器外运行时可访问。

 docker ps 56 ↵ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3a2ae48f1f66 waxed_backend_image "/bin/sh -c 'dev_a..." 9 hours ago Up 8 hours 0.0.0.0:8000->8000/tcp, 0.0.0.0:8080->8080/tcp dockerpygae_waxed_backend_1 

这里有一个可能相关的问题,我有: 从docker容器内向本地主机发出请求似乎每次我尝试与gae开发服务器在任何dockery方式沟通方式事情开始出现可怕的错误

我改变了这个:

 CMD dev_appserver.py app_localhost.yaml 

对此:

 CMD dev_appserver.py --host 0.0.0.0 app_localhost.yaml 

现在它工作正常

虽然我不知道为什么它的工作。 我仍然会欣赏一个比这个更正确的答案