【发布时间】:2017-06-06 23:21:31
【问题描述】:
玩烧瓶我想在 docker 中启动并运行一个真正的设置。这意味着烧瓶应该通过 nginx 和 gunicorn 服务。我设置了一个示例代码库https://github.com/geoHeil/pythonServing,但到目前为止还不能让 nginx 正常工作。
Flask 在application:5000 上提供服务,docker 应该将应用程序解析为其各自的名称。
Nginx 配置如下:
server {
listen 8080;
server_name application;
charset utf-8;
location / {
proxy_pass http://application:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这对我来说看起来不错。到目前为止,我找不到问题。
编辑
撰写文件在这里。启动命令是
docker-compose build
docker-compose up
version: '2'
services:
application:
restart: always
build: ./application
command: gunicorn -w 4 --bind :5000 wsgi:application
links:
- db
expose:
- "5000"
ports:
- "5000:5000"
nginx:
restart: always
build: ./nginx
links:
- application
expose:
- 8080
ports:
- "8880:8080"
【问题讨论】:
-
尝试从 nginx 容器 ping 应用程序。
-
@FarhadFarahi 确实如此,就像
PING application (192.168.0.3): 56 data bytes 64 bytes from 192.168.0.3: seq=0 ttl=64 time=0.091 ms 64 bytes from 192.168.0.3: seq=1 ttl=64 time=0.129 ms -
Gimmie 你运行的命令来设置环境,如果你使用 docker compose,请提供 compose 文件。
-
@FarhadFarahi 请查看编辑以及github.com/geoHeil/pythonServing
标签: python nginx flask docker-compose gunicorn