gpt4 book ai didi

docker - 如何捕获docker的ENTRYPOINT?

转载 作者:行者123 更新时间:2023-12-02 09:30:57 33 4
gpt4 key购买 nike

假设我们有以下 docker 镜像:osimis/orthanc-dicom-syncher 。我们没有Dockerfile或存在代码存储库(除了我们可以通过 docker history 获得的内容)。

那个 docker 镜像有一个 python 脚本,因为它是 entrypoint (如 /usr/local/bin/orthanc-dicom-syncher )。我想查看该脚本的内容,但不幸的是,容器在运行后立即停止。这就排除了 bash -进入容器以获取必要的文件。

此外,如果我尝试 docker run ,docker 将整个命令作为参数传递给 python 脚本。

我尝试解决这个问题,例如:

  1. docker commit <orthanc-dicom-syncher_contained_id> my-broken-container
  2. docker run -it my-broken-container /bin/bash

但这再次运行 /bin/bash部分作为 python 脚本的参数(产生 orthanc-dicom-syncher: error: unrecognized arguments: /bin/bash )。

有什么建议(理想情况下)bash进入容器或(足够)提取入口点的代码将不胜感激。

该图像没有 github 存储库,所以我在网上找不到代码;不管怎样,即使是这样,我也很好奇如何解决这个问题

最佳答案

而且,正如经常发生的那样,提出问题帮助我解决了问题。

解决方案是使用 --entrypoint 标志覆盖 entrypoint:

docker run -it --entrypoint "/bin/cat"my-broken-container/usr/local/bin/orthanc-dicom-syncher

注意命令和参数的定位(请参阅 this 帖子)。

关于docker - 如何捕获docker的ENTRYPOINT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57970023/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com