Mez*_*zin 6 python flask docker docker-compose
运行 Flask 容器,当我尝试读取环境变量时,它们不是由 docker compose 设置的。我正在使用 docker-compose 文件版本 2
compose file:
services:
test
build: ./test
image: test:1.0
container_name: test_flask
ports:
- "80:80"
env_file: .env
environment:
- COUCHDB=http://192.168.99.100:5984
depends_on:
- couchdb
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用 env_file 和环境指令?我还尝试过将值放在双引号、单引号、无引号中,但都不起作用。.env 文件包含:
COUCHDB="http://192.168.99.100:5984", also tried without quotes
Run Code Online (Sandbox Code Playgroud)
然后我从 python 代码中读取变量,如下所示:
COUCH_SERVER = os.environ["COUCHDB"]
Run Code Online (Sandbox Code Playgroud)
我也尝试过 os.environ.get('COUCHDB')
没有一个起作用。
服务器从 Dockerfile 启动,如下所示:
CMD服务apache2重启
我使用以下命令启动容器:
docker-compose up 测试
我正在使用 Docker for Windows 工具箱,版本为:
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.7.5
Git commit: 092cba3
Built: Wed Feb 8 08:47:51 2017
OS/Arch: windows/amd64
Server:
Version: 17.04.0-ce
API version: 1.28 (minimum version 1.12)
Go version: go1.7.5
Git commit: 4845c56
Built: Wed Apr 5 18:45:47 2017
OS/Arch: linux/amd64
Experimental: false
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助
我给您留下了一个示例,说明如何从应用程序获取环境变量。
docker-compose.yml
version: '2'
services:
app:
image: python:2.7
environment:
- BAR=FOO
volumes:
- ./app.py:/app.py
command: python app.py
Run Code Online (Sandbox Code Playgroud)
应用程序.py
import os
print(os.environ["BAR"])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8907 次 |
最近记录: |