我是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
这可能是错误的语法,我无法弄清楚。请帮助我!
答案 0 :(得分:0)
我对Python不太了解,但是我可以看到yml中有些错误。