【发布时间】:2019-08-27 13:04:39
【问题描述】:
我是 docker 环境的新手,我有一个示例脚本,我通过 argparse 接受 cmd 行 args 并打印它。 Python代码如下:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-ol', '--old_file', type=str, help='path of a old file')
args = parser.parse_args()
print("Hello : " + str(args.old_file))
这是我的 dockerfile:
FROM python:3
COPY arguments_sample.py /arguments_sample.py
ARG ol
RUN echo $ol
ENTRYPOINT ["python", "arguments_sample.py"]
最后是我的 docker-compose.yml:
version: '3'
services:
python-service:
build: ./docker_stage
environment:
- OL='Hello'
volumes:
- ./sample_api:/usr/src/app_sample
通常我可以如下运行python脚本:
python arguments_sample.py -ol Henry
它会将其打印为Hello : Henry
当我使用docker-compose up 时,它正在打印Hello : None
这可能是我无法弄清楚的错误语法。请帮助我!
【问题讨论】:
标签: python-3.x docker docker-compose argparse