首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅在windows 10下出现码头联网问题

仅在windows 10下出现码头联网问题
EN

Stack Overflow用户
提问于 2018-07-11 19:24:10
回答 1查看 37关注 0票数 0

我在OSX上开发了一个Dockerfile和dockerCompose.yml。看起来是这样的:

cat Dockerfile

代码语言:javascript
复制
FROM alpine:3.7

ADD ./app /home/app/
WORKDIR /home/app/

RUN apk add --no-cache postgresql-dev gcc python3 python3-dev musl-dev && \
    python3 -m ensurepip && \
    rm -r /usr/lib/python*/ensurepip && \
    pip3 install --upgrade pip setuptools && \
    rm -r /root/.cache && \
    pip3 install -r requirements.txt

EXPOSE 5000

ENTRYPOINT ["python3", "app.py"]

cat docker-compose.yml

代码语言:javascript
复制
version: "3"
services:
  web:
    build: .
    ports:
      - "5000:5000"
    volumes:
      - ./app/:/home/app/
    depends_on:
      - db
  db:
    image: postgres:10
    environment:
      - POSTGRES_USER=testusr
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=testdb
    expose:
      - 5432

然后我开始通过:docker-compose up --build -d并打开端口5000上的web浏览器,它显示了一个表单(如预期的那样)。同样,这在OSX上也是完美的。

但是,在Windows 10上,它只显示一个空白页。docker port <CONTAINER>5000/tcp -> 0.0.0.0:5000显示,所以我知道它被绑定到了正确的端口。

此外,如果我docker logs -f <python container>,它不会显示请求到达容器。通常,为每个烧瓶/nginx响应打印一条新行(w/状态代码)。在本例中,它看起来甚至没有到达python应用程序容器。

所以,你知道为什么这在Windows上不起作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-11 20:06:35

因此,答案是您必须使用docker-machine ip来查看容器绑定到什么IP。它不只是绑定到localhost/127.0.0.1,就像在OSX上那样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51292877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档