当前位置: 首页 > 面试题库 >

如果容器立即退出,是否探索Docker的映像文件?

卫宏硕
2023-03-14
问题内容

我有一个从Docker集线器提取的Docker映像。

当我运行时docker run image_name,容器立即退出。

我无权访问Docker映像的源代码,包括Dockerfile。我所拥有的只是我从中获得的图像hub.docker.com

我需要调试/查看映像中的内容(例如查看和浏览映像的文件系统),而无需将其作为容器运行。

可能吗?


问题答案:

从所需的图像启动容器,如下所示:

docker run -it --rm image_name bash

-i 即使未连接STDIN仍保持打开状态

-t 分配一个伪tty

--rm 梅子退出后停止了容器

bash执行容器中的特定命令。您可以执行任何有效的命令。

示例docker run -it --rm centos:7 pwd输出/(根目录)。

更新 :在某些情况下,图像的入口点使用bash/sh -c上述command(docker run -it --rm image_name bash)格式的格式将不起作用,因为bash它将被视为图像原始入口点的附加参数。

在这种情况下,您可以使用该--entrypoint标志来实现相同的结果:

docker run -it --entrypoint "/bin/bash" image_name


 类似资料:
  • 容器总是在创建和运行后立即退出。 我尝试使用命令运行mssql实例 当尝试类似的SO link link时 它显示 但在run命令中我已经设置了'accept_eula=y'。

  • 问题内容: 我在后台运行一个容器 它迅速退出。但是,如果我在前台运行,则可以正常运行。我使用检查了日志 没有错误。有任何想法吗? DOCKERFILE start-all.sh 问题答案: 一个Docker容器的主要过程完成后退出。 在这种情况下,它将在脚本结束时退出。我对hadoop不太了解,无法在这种情况下告诉您如何做,但是您需要要么在前台运行某些东西,要么使用诸如runit或supervis

  • 问题内容: 我注意到docker,我需要了解容器内部发生的情况或其中存在的文件。一个示例是从docker索引下载图像-您不知道该图像包含什么,因此无法启动该应用程序。 理想的情况是能够使用它们或等效方法。是否有工具可以做到这一点,或者我对docker的构想在认为我应该能够做到这一点上是错误的。 问题答案: UPDATE 最简单的方法:使用docker exec Docker 1.3或更高版本支持行

  • 我注意到在使用docker时,我需要了解容器中发生了什么,或者容器中存在什么文件。一个例子是从docker索引下载图像--您不知道图像包含了什么,所以不可能启动应用程序。 理想的情况是能够将ssh转换到它们或等价物中。是否有一个工具可以做到这一点,或者是我对docker的概念化错误地认为我应该能够做到这一点。

  • 问题内容: 我正在尝试学习如何将docker compose与nginx容器的简单设置结合使用,该设置将请求重新路由到ghost容器。我正在使用标准的鬼影图像,但是有一个自定义的nginx图像(继承自标准图像)。 当我使用“ docker-compose up”运行合成文件时,它会立即退出,而“ docker_nginx_1以代码0退出”。但是,当我手动构建并运行它时,它运行良好,并且可以将浏览器