Docker Compose command参数修改后脚本行为未变问题求助
Docker Compose Command参数未正确触发脚本行为问题
我是Docker新手,正在学习其使用方法。我尝试在docker-compose.yml文件中使用command参数,以覆盖Dockerfile中的CMD指令(当前我的Dockerfile中的CMD已被注释),预期该command会被执行。
main.py脚本的输出应随--profiler参数为True或False而有所不同。我先设置profiler=False运行,之后将其改为True并再次执行docker-compose up。虽然日志显示参数已变为True,但脚本执行结果却和之前一致(日志首行是profiler参数值),恳请有人协助解决此问题。
Dockerfile内容
# 更多信息参考官方文档 FROM python:3.8-slim # changing init ENV TINI_VERSION="v0.19.0" ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini RUN chmod +x /tini # Keeps Python from generating .pyc files in the container ENV PYTHONDONTWRITEBYTECODE=1 # Turns off buffering for easier container logging ENV PYTHONUNBUFFERED=1 # keep pip, setuptools and wheel always updated RUN pip install -U \ pip \ setuptools \ wheel # create working directory WORKDIR /app # Install requirements COPY requirements.txt . RUN python -m pip install -r requirements.txt RUN python -m pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cpu # copy everything in the workdir COPY ./code . # Creates a non-root user with an explicit UID and adds permission to access the /app folder # 更多信息参考容器配置文档 RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app USER appuser # define entrypoint ENTRYPOINT ["/tini", "--"] # 调试时该入口点会被覆盖,更多信息参考调试文档 # CMD [ "python", "main.py", "--model_path", "./model_e20_nf112_14122022.pt", "--input_path", "./input_images/", \ # "--output_path", "./output_folder/", "--camera_fps", "1", "--device", "cpu", "--profiler", "True"]
docker-compose.yml内容
services: inference_container: image: inference build: context: ./ networks: - inference_network volumes: # link host path to docker container - ./data/output_images:/app/output_folder - ./data/profilers:/app/profiler environment: # permessions for folder - PUID=1000 - PGID=1000 command: python3 main.py --model_path ./model_e20_nf112_14122022.pt --input_path ./input_images/ --output_path ./output_folder/ --camera_fps 1 --device cpu --profiler True networks: # The presence of these objects is sufficient to define them inference_network:
操作步骤
- 构建镜像:
docker-compose -f docker-compose.yml build --no-cache
- 创建并运行容器:
docker-compose up
运行日志
第一次运行(profiler=False)
[+] Running 1/1 Container unibapinferencescript-inference_container-1 Created Attaching to unibapinferencescript-inference_container-1 unibapinferencescript-inference_container-1 | False unibapinferencescript-inference_container-1 | Starting Camera Acquisition Process unibapinferencescript-inference_container-1 | Starting Inference Process unibapinferencescript-inference_container-1 | Adding Image unibapinferencescript-inference_container-1 | Retrieving Image for inference unibapinferencescript-inference_container-1 | Adding Image unibapinferencescript-inference_container-1 | No more images to acquire unibapinferencescript-inference_container-1 | Retrieving Image for inference unibapinferencescript-inference_container-1 | Inference Process terminated unibapinferencescript-inference_container-1 | Images have been save in ./output_folder/ unibapinferencescript-inference_container-1 exited with code 0
第二次运行(profiler=True)
[+] Running 1/1 Container unibapinferencescript-inference_container-1 Created Attaching to unibapinferencescript-inference_container-1 unibapinferencescript-inference_container-1 | True unibapinferencescript-inference_container-1 | Starting Camera Acquisition Process unibapinferencescript-inference_container-1 | Starting Inference Process unibapinferencescript-inference_container-1 | Adding Image unibapinferencescript-inference_container-1 | Retrieving Image for inference unibapinferencescript-inference_container-1 | Adding Image unibapinferencescript-inference_container-1 | No more images to acquire unibapinferencescript-inference_container-1 | Retrieving Image for inference unibapinferencescript-inference_container-1 | Inference Process terminated unibapinferencescript-inference_container-1 | Images have been save in ./output_folder/ unibapinferencescript-inference_container-1 exited with code 0
内容的提问来源于stack exchange,提问作者Andrea Tantucci
相关产品推荐
相关产品推荐

