Docker不读取环境文件,但未显示错误

我有一个Python脚本:

os.environ["MY_VAR"]

docker-compose.yml如下:

version: '1'
services:
  webserver:
    build: .
    ports:
      - "8080:8080"
    environment:
      MY_VAR: ${MY_VAR}

Dockerfile:

FROM ubuntu
ENV PYTHONUNBUFFERED 1
ADD ./.env ./
RUN pip install -r docker_src/requirements.pip
CMD tail -f /dev/null

.env文件

# AWS
MY_VAR=home

如果我执行docker-compose config,该变量将显示为预期值。然后,我运行docker docker-compose up -d --build,然后运行python脚本,但返回失败:

  File "/usr/lib/python2.7/UserDict.py",line 40,in __getitem__
    raise KeyError(key)
KeyError: 'MY_VAR'
lmn1101 回答:Docker不读取环境文件,但未显示错误

首先,您还应该将最新版本用于docker-compose someScope.launch(someDispatcher){ val dataFromDb = fethDbData() if(dataFromDb.size == expectedSizeOrSomething){ //start api call val apiResponse = response.fetchNetworkData() if (response.isSuccessful){ parsePerhaps() insertNewDataToDatabase() } } } ,然后传递version: '3'

MY_VAR

使用时

export MY_VAR=test && docker-compose up

它在主机环境变量中寻找 environment: MY_VAR: ${MY_VAR}

或者,如果您想使用MY_VAR,则已经将.env文件分隔了。

env

更新:

简单的例子

version: '3'
services:
  webserver:
    build: .
    ports:
      - "8080:8080"
    env_file:
       - .env

和.env

version: '3'
services:
  webserver:
    image: alpine
    command: printenv
    env_file:
       - .env

enter image description here

本文链接:https://www.f2er.com/3122912.html

大家都在问