泊坞内的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
现在它工作正常
虽然我不知道为什么它的工作。 我仍然会欣赏一个比这个更正确的答案