Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
烧瓶应用程序Docker ngnix_Docker_Nginx_Flask - Fatal编程技术网

烧瓶应用程序Docker ngnix

烧瓶应用程序Docker ngnix,docker,nginx,flask,Docker,Nginx,Flask,我已经构建了两个Docker映像,其中包含一个Flask应用程序(web容器),另一个映像(nginx容器)包含nginx作为负载平衡器 使用docker compose up and scale命令: docker-compose up --scale web=2 结果是: Starting dockerflaskloadb_web_1 ... done Creating dockerflaskloadb_web_2 ... done Starting dockerflaskloadb_ng

我已经构建了两个Docker映像,其中包含一个Flask应用程序(web容器),另一个映像(nginx容器)包含nginx作为负载平衡器

使用docker compose up and scale命令:

docker-compose up --scale web=2
结果是:

Starting dockerflaskloadb_web_1 ... done
Creating dockerflaskloadb_web_2 ... done
Starting dockerflaskloadb_nginx_1 ... done
Attaching to dockerflaskloadb_web_1, dockerflaskloadb_web_2, dockerflaskloadb_nginx_1
web_1    | [2018-08-22 11:27:20 +0000] [1] [INFO] Starting gunicorn 19.6.0
web_1    | [2018-08-22 11:27:20 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
web_1    | [2018-08-22 11:27:20 +0000] [1] [INFO] Using worker: sync
web_1    | [2018-08-22 11:27:20 +0000] [8] [INFO] Booting worker with pid: 8
web_2    | [2018-08-22 11:27:21 +0000] [1] [INFO] Starting gunicorn 19.6.0
web_2    | [2018-08-22 11:27:21 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
web_2    | [2018-08-22 11:27:21 +0000] [1] [INFO] Using worker: sync
web_2    | [2018-08-22 11:27:21 +0000] [8] [INFO] Booting worker with pid: 8
这是我在Flask应用程序中获得的一些get请求:

nginx_1  |  [22/Aug/2018:11:33:31 +0000] "GET /home HTTP/1.1" 200 5640 "http://192.168.99.100/about" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" "-" -172.22.0.4
nginx_1  |  [22/Aug/2018:11:33:33 +0000] "GET /home HTTP/1.1" 200 5640 "http://192.168.99.100/home" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" "-" -172.22.0.4
nginx_1  |  [22/Aug/2018:11:33:33 +0000] "GET /about HTTP/1.1" 200 3195 "http://192.168.99.100/home" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" "-" -172.22.0.4
该应用程序运行良好,但我想知道每个请求将使用哪个容器(web1或web2)

是否有任何方法可用于在我的flask应用程序中显示容器ID?
谢谢,默认情况下,容器的主机名是容器id。例如:

import os
id = os.environ['HOSTNAME']

import socket
print(socket.gethostname())