
server.py 的关键内容如下:
if __name__ == '__main__': app.run(host='0.0.0.0', port=9000) Dockerfile 如下:
FROM python:3.7-buster WORKDIR /app/ COPY ./requirements.txt /app/requirements.txt RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ COPY . /app/ EXPOSE 9000 ENV FLASK_APP=server.py CMD python -m flask run --host=0.0.0.0 -p 9000 下面这样子可以访问到 localhost:9000 。
docker container run --name user-info-pool-service -d -p 9000:9000 user-info-pool-service 但是下面这样却不行。
docker container run --network=host --name user-info-pool-service -d user-info-pool-service 真的好奇怪,为什么呢?
1 dilu 2020-11-24 13:14:44 +08:00 大哥,你第二中方法没有映射端口啊...... |
2 kosmosr 2020-11-24 13:17:39 +08:00 了解一下-p 参数你就知道了 |
3 acmore 2020-11-24 13:39:46 +08:00 |
5 taolu 2020-11-24 13:42:41 +08:00 via iPhone --network host 只适用于 Linux,不支持 win 和 mac |
6 acmore 2020-11-24 13:45:24 +08:00 @taolu 对的,还有可能是这种情况。 "The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server." |
8 JasonLaw OP |