首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有执行的环境变量编写python示例

没有执行的环境变量编写python示例
EN

Stack Overflow用户
提问于 2022-05-08 21:41:52
回答 1查看 59关注 0票数 0

我很难理解码头构图中的环境变量。似乎可以在这样的容器中设置env变量:https://docs.docker.com/compose/environment-variables/#set-environment-variables-in-containers

但是,当我尝试时,我只能在docker文件中设置env,而不能设置复合文件。我想在撰写文件中设置它,因为很多示例在撰写文件中显示env (就像docker桌面中的教程)。而且,虽然它适用于docker桌面教程中的节点示例,但对于我为python提出的最简单的示例,它不起作用。

撰写文件..。

代码语言:javascript
复制
version: "3.8"

services:
  python-test:
    container_name: mypython-contianer
    build:
      context: ./
      dockerfile: SimpleDockerfile
    environment:
      - SHAPE=SQUARE


    env_file: docker.env

码头文件"SimpleDockerfile“

代码语言:javascript
复制
FROM python:3.8
WORKDIR /app
COPY . .
ENV FONT=SERIF
RUN python main.py

Python文件

代码语言:javascript
复制
import os
import sys
from pprint import pprint

if __name__ == '__main__':
    pprint(dict(os.environ))
    sys.exit(1)

当我跑的时候

代码语言:javascript
复制
 docker-compose up --build --abort-on-container-exit 

我得到以下输出

代码语言:javascript
复制
 > [4/4] RUN python main.py:
#9 0.755 {'FONT': 'SERIF',
...OTHER STUFF...
#9 0.755  'HOME': '/root',
#9 0.755  'LANG': 'C.UTF-8',
#9 0.755  'PYTHON_PIP_VERSION': '22.0.4',
#9 0.755  'PYTHON_SETUPTOOLS_VERSION': '57.5.0',
#9 0.755  'PYTHON_VERSION': '3.8.13'}

为什么字体变量会出现而不是SHAPE?

EN

回答 1

Stack Overflow用户

发布于 2022-05-08 23:36:43

深入研究https://docs.docker.com/compose/compose-file/compose-file-v3/#environment的文档

代码语言:javascript
复制
    Note

    If your service specifies a build option, variables defined in
 environment are not automatically visible during the build. 
Use the args sub-option of build to define build-time environment variables.

我认为问题dockerfile中的run命令是构建的一部分,而不是运行的一部分。将dockerfile改为..。

代码语言:javascript
复制
FROM python:3.8
WORKDIR /app
COPY . .
ENV FONT=SERIF
CMD ["python", "main.py"]

我得到以下输出..。

代码语言:javascript
复制
Recreating mypython-contianer ... done
Attaching to mypython-contianer
mypython-contianer | {'FONT': 'SERIF',
...MORE STUFF...
mypython-contianer |  'SHAPE': 'SQUARE'}
mypython-contianer exited with code 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72165281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档