Ну, вы используете полностью определенные пути, как они являются относительными.
Предполагая, что ваш Dockerfile находится в папке raspi-motion-detection
в структуре вашего проекта ...
CMD ["python", "/core/motion_detector.py", "--conf", "conf/conf.json"]
Часть /core...
(обратите внимание, что я разбил все части команды на отдельные элементы) фактически будет указывать на местоположение относительно корневой папки, поскольку она начинается с '/', и она должна выглядеть отсюда:
/raspi_motion_detection/project/project/core/motion_detector.py
То же самое относится к conf/conf.json
, что на самом деле кто-то будет указывать на что-то относительно WORKDIR. Возможно, вы захотите быть более конкретным и здесь: -)
вы можете проверить свою конфигурацию, запустив что-то вроде:
docker run -it --rm your_image /bin/bash
, а затем посмотрите, как и что вы добавили в свою сборку.
Ваш Dockerfile в некоторых пунктах, похоже, тоже не прав
- Нельзя ссылаться на WORKDIR с помощью $ WORKDIR
- Вы копируете файл require.txt, но никогда не запускаете его, поэтому он, вероятно, никогда ничего не сделает
- Вы видите, чтобы скопировать всю структуру, и dat будет включать Dockerfile, который не нужен
Надеюсь, это поможет