【问题标题】:Issue on runnning Openvino example on docker在 docker 上运行 Openvino 示例的问题
【发布时间】:2021-07-21 17:16:09
【问题描述】:

我已经从基于 Openvino 2021.4_dev 的 dockerfile 构建了 docker 容器。 另外添加一些库需要运行我的 python 脚本,它基于 Openvino dockerfile。

接受是当我运行容器时它应该开始运行 python 脚本。

ENTRYPOINT ["python3","-U","main.py"]

但似乎没有找到某些库,因为我忘记了 source setupvar.sh

所以我尝试了 RUN,shell 和直接,它不起作用。 使用 shell 选项容器启动时卡在 setupvar.sh 消息处。

我观察到一件事,无论 shell 用于运行 python 脚本,setupvar.sh 都应该在同一个 shell 上获取源。 但是作为 docker,每个 CMD 、SHELL 或 ENTRYPOINT 都在调用时使用单独的 shell 执行。

我该如何解决这个问题? 如何在同一个 shell 上获取 setupvar.sh 和脚本,以便在容器启动后运行脚本。

注意:我不希望它是不需要的交互式解决方案,因为一切都在容器启动时运行

【问题讨论】:

    标签: python docker shell openvino


    【解决方案1】:

    我已经通过创建单独的 shell 脚本并从 docker 文件运行它来解决问题,该文件首先在 bash shell 中执行 setupar.sh,然后在同一个 shell 上运行 python 脚本

    shell 脚本: 运行.sh

    #!/bin/bash
    
    source /opt/intel/openvino_2021/bin/setupvars.sh
    exec /usr/bin/python3 -u "/app/main.py"
    
    

    添加 docker 文件的结尾:

    ENTRYPOINT ["/app/run.sh" ]
    

    希望这个答案能让其他面临类似问题的人使用 openvino 执行 python 示例

    【讨论】:

      【解决方案2】:

      您可以永久设置环境变量,如Set Environment Variable 所示。每次打开新终端,都会自动设置环境变量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-04
        • 2019-10-07
        • 1970-01-01
        • 2020-10-24
        • 1970-01-01
        • 2012-11-12
        相关资源
        最近更新 更多