我有一个从Docker集线器提取的Docker映像。
当我运行时docker run image_name,容器立即退出。
docker run image_name
我无权访问Docker映像的源代码,包括Dockerfile。我所拥有的只是我从中获得的图像hub.docker.com。
hub.docker.com
我需要调试/查看映像中的内容(例如查看和浏览映像的文件系统),而无需将其作为容器运行。
可能吗?
从所需的图像启动容器,如下所示:
docker run -it --rm image_name bash
-i 即使未连接STDIN仍保持打开状态
-i
-t 分配一个伪tty
-t
--rm 梅子退出后停止了容器
--rm
bash执行容器中的特定命令。您可以执行任何有效的命令。
bash
示例docker run -it --rm centos:7 pwd输出/(根目录)。
docker run -it --rm centos:7 pwd
/
更新 :在某些情况下,图像的入口点使用bash/sh -c上述command(docker run -it --rm image_name bash)格式的格式将不起作用,因为bash它将被视为图像原始入口点的附加参数。
bash/sh -c
在这种情况下,您可以使用该--entrypoint标志来实现相同的结果:
--entrypoint
docker run -it --entrypoint "/bin/bash" image_name