无法设置/覆盖docker入口点以执行两个命令

2024-06-13 01:13:05 发布

您现在位置:Python中文网/ 问答频道 /正文

当我启动docker映像时,我试图设置/覆盖docker入口点,但是我得到了一个意外的行为

场景1(不工作)

  1. Docker运行命令-->;docker运行--rm-it--privileged--net=host python3.6-m CameraServerBasler.pylon\u视频和; python3.6-m CameraServerBasler.server
  2. 输出-->/usr/bin/python3.6:查找模块时出错 “CameraServerBasler.server”的规范(ModuleNotFoundError: 没有名为“CameraServerBasler”的模块)

场景2(工作)

如果我在docker映像bash中执行相同的命令,一切都会正常工作

  1. Docker运行命令-->;docker运行--rm-it--privileged--net=host--entrypoint=/bin/bash
  2. 在docker映像内执行的命令-->;Python3.6-m CameraServerBasler.server&;Python3.6-m CameraServerBasler.pylon\u视频
  3. 输出-->;两个服务器(模块)都按预期运行(服务器 和塔架(视频)

Docker映像-->;ubuntu:18.04 你知道吗

我在docker run命令中遗漏了什么吗


Tags: 模块dockerrm命令gthost视频net
1条回答
网友
1楼 · 发布于 2024-06-13 01:13:05

我已经使用sh脚本解决了这个问题,但是仍然不太清楚为什么不使用方法1

进近#1不工作

docker文件中声明的入口点

ENTRYPOINT ["python3.6", "-m", "CameraServerBasler.server", "&", "python3.6", "-m", "CameraServerBasler.pylon_video"]

进近#2工作

docker文件中声明的入口点

ENTRYPOINT ["sh", "init.sh"]

init.sh文件内容

python3.6 -m CameraServerBasler.server & python3.6 -m CameraServerBasler.pylon_video

相关问题 更多 >