在Google Cloud Platfrom上启动docker镜像时出现Userland代理错误

时间:2018-03-12 16:25:10

标签: docker google-cloud-platform

我正在尝试在我的一个GCP VM上运行标准的nginx容器。我跑的时候

docker run -it --rm -p 80:80 tiangolo/uwsgi-nginx-flask:python3.6

我收到以下错误:

Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use

然而,它是我创建的干净VM实例。在VM创建期间,我还检查了http端口以确保端口80是打开的(我需要添加https - 但这是我的第一次部署测试)。

图像在本地工作。它似乎是Google云平台配置的东西。

2 个答案:

答案 0 :(得分:2)

我试图在我的头上重现这个问题,但我没有发现任何错误。以下是我采取的以下步骤。

  1. 首先,我在Google云平台中启动了Debian虚拟机实例,并允许防火墙中的传入http用于该虚拟机实例,以便我可以从外部访问该网站。
  2. 然后我在VM实例中安装了docker。我跟着this link
  3. 之后,我确保VM实例中的http端口是空闲的。我使用了以下命令。 netstat -an | egrep'Proto | LISTEN' 您可以查看链接here
  4. 此时,我发出了您提供的docker命令。 docker run -it --rm -p 80:80 tiangolo / uwsgi-nginx-flask:python3.6
  5. 我没有收到任何错误,我可以访问nginx页面。

    “使用Python 3.6的uWSGI Nginx Docker容器中的Flask的Hello World(默认)”

    如果您使用相同的docker版本旋转新VM,您是否遇到同样的问题?您的VM运行的是什么类型的映像?

答案 1 :(得分:2)

这是我自己的愚蠢错误..对不起要求SO社区...... 所以我做错了什么..我通过网络客户端连接..这意味着端口80已经在使用中。导致所有这些破坏:(

所以只需ssh并再试一次就行了。