Docker 如何猫码头工人';什么是入口点?

Docker 如何猫码头工人';什么是入口点?,docker,Docker,假设我们有以下docker映像:osimis/orthanc dicom syncher。我们没有Dockerfile或代码存储库(除了我们可以通过docker history获得的内容) docker映像有一个python脚本,它是入口点(就像/usr/local/bin/orthanc-dicom-syncher)。我想查看脚本的内容,但不幸的是,容器在运行后立即停止。这就排除了bash-ing到容器中以cat必要文件的可能性 此外,如果我尝试运行docker,docker会将整个命令作为参

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

docker映像有一个python脚本,它是
入口点
(就像
/usr/local/bin/orthanc-dicom-syncher
)。我想查看脚本的内容,但不幸的是,容器在运行后立即停止。这就排除了
bash
-ing到容器中以cat必要文件的可能性

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

我试着解决这个问题,比如:

  • docker提交我的破容器
  • docker run-它是我的破容器/bin/bash
  • 但这会再次将
    /bin/bash
    部分作为python脚本的参数运行(生成
    ortanc-dicom-syncher:error:unrecogned-arguments:/bin/bash

    任何关于如何(理想情况下)
    bash
    放入容器或(充分地)提取entrypoint代码的建议都将不胜感激


    没有带有该图像的github repo,因此我无法在网上找到代码;无论如何,即使是这样,我也很好奇如何解决这个问题。

    您可以使用以下方法:

    docker create --name test osimis/orthanc-dicom-syncher
    docker cp test:/usr/local/bin/orthanc-dicom-syncher .
    
    然后在工作目录中找到文件

    PS
    确保您允许使用或修改它们,我不知道
    使用条款

    ,而且,经常发生的情况是,制定问题有助于我解决问题

    解决方案是使用
    --entrypoint
    标志覆盖
    入口点

    docker-run-it--entrypoint”/bin/cat“我的破容器/usr/local/bin/orhanc-dicom-syncher

    请注意命令和参数的位置(参见文章)