You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 10:17:23