Docker 如何猫码头工人';什么是入口点?
假设我们有以下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会将整个命令作为参
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
请注意命令和参数的位置(参见文章)