【发布时间】:2021-02-05 14:07:09
【问题描述】:
我有一个必须在 docker 容器中运行的 python 程序。当我在我的工作区中执行程序时,程序运行良好。我从 python 图像制作了一个自定义 Dockerfile,这个图像在我的工作区中具有相同版本的相同包。当我使用 compose 运行容器时,容器会启动,但是当我调用特定函数时,程序似乎没有运行。我在此函数调用之前放置了一个打印,并且仅当我注释 func 调用时打印才有效(func 调用在打印之后),当我调用该函数时打印不起作用。
我的码头文件:
FROM python:3.8.5-slim
RUN apt update \
&& apt upgrade -y\
&& apt install -y libsm6 libxext6 libxrender-dev libglib2.0-0 \
&& pip install redis==3.5.3 opencv-contrib-python==4.2.0.32 imutils==0.5.3 scikit-image==0.17.2 \
&& mkdir src
WORKDIR /src
CMD ["python"]
我的作曲:
version: '3.1'
services:
redis:
image: 'redis:alpine'
command: redis-server --requirepass 123
ports:
- '6379:6379'
doorState-peopleCounter:
build:
context: .
dockerfile: Dockerfile
image: custom
volumes:
- /media/jose/Arquivos/Argos/rasp-services/movementdetectionwindowsdoor:/src
command: ["python", "Tracker.py"]
使用此代码打印不起作用:
print('[INFO] - Iniciando monitoramento da porta')
tracking.count(source='videos/subindo.mp4')
当我评论 func 调用时,打印工作:
print('[INFO] - Iniciando monitoramento da porta')
#tracking.count(source='videos/subindo.mp4')
【问题讨论】:
-
您是否在容器的日志中看到任何错误?
docker-compose logs doorState-peopleCounter说什么? -
您的撰写文件运行
python Tracker.py;你的 Dockerfile 只运行python. -
日志没有显示任何错误
-
Dockerfile CMD 是“python”,但在撰写文件中我运行“python Tracker.py”。该程序仅在我调用 tracking.count() 时不运行
标签: python docker docker-compose dockerfile