[英]Unable to pass arguments in docker-compose file for argparse
I'm new to docker environment, I have a sample script which i accept cmd line args through argparse and print it. 我是docker环境的新手,我有一个示例脚本,我通过argparse接受cmd line args并打印它。 Python code below:
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))
here is my dockerfile: 这是我的dockerfile:
FROM python:3
COPY arguments_sample.py /arguments_sample.py
ARG ol
RUN echo $ol
ENTRYPOINT ["python", "arguments_sample.py"]
and finally my docker-compose.yml: 最后我的docker-compose.yml:
version: '3'
services:
python-service:
build: ./docker_stage
environment:
- OL='Hello'
volumes:
- ./sample_api:/usr/src/app_sample
usually i can run the python script as below: 通常我可以运行如下的python脚本:
python arguments_sample.py -ol Henry
and it would print it as Hello : Henry
它将打印为
Hello : Henry
when i use docker-compose up
it was printing Hello : None
当我使用
docker-compose up
它打印Hello : None
It may be wrong syntax which i'm not able to figure it out. 它可能是错误的语法,我无法弄明白。 Kindly help me!
请帮助我!
I don't know much about Python but I can see that you have a couple things wrong in the yml. 我对Python知之甚少,但我可以看到你在yml中有一些错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.