Я новичок в среде докеров, у меня есть пример сценария, в котором я принимаю аргументы строки cmd через argparse и печатаю его.Код 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
Это может бытьнеправильный синтаксис, который я не могу понять.Пожалуйста, помогите мне!