如何查看DockerHub容器的源代码,以便适应它?

我想在GeoDjango应用程序上工作,这对其他人来说也很容易。 我想用Docker来打包应用程序。

所以,一个非常简单的问题。

我可以看到在DockerHub上有一个现有的GeoDjango容器: https ://registry.hub.docker.com/u/jhonatasmartins/geodjango/

我如何查看这个容器的Dockerfile,以便我可以使用它作为我自己的容器的基础?

目前没有办法看到用于生成映像的Dockerfile,除非作者在某处发布了Dockerfile。 构build为自动化构build的图像将链接到具有Dockerfile的源代码库,但是对于手动构build和推送的图像,您仅限于描述中发布的任何人。

您可以尝试联系图像维护人员。

也有一些时间,在docker history <IMAGE_ID>可以显示一些关于如何build立图像的提示。 实际上,如果图像是使用Dockerfile构build的,则会为您提供Dockerfile步骤的清晰图像。 对于从容器中提交的代码,你可能看不到一些步骤,但是有时你可以从那里得到一些想法。 比如说你说的图片:

 $ docker history jhonatasmartins/geodjango:latest IMAGE CREATED CREATED BY SIZE 0b7e890a4644 3 months ago /bin/bash 112.2 MB 35174145916a 3 months ago /bin/bash 449.9 MB 5506de2b643b 4 months ago /bin/sh -c #(nop) CMD [/bin/bash] 0 B 22093c35d77b 4 months ago /bin/sh -c apt-get update && apt-get dist-upg 6.558 MB 3680052c0f5c 4 months ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/ 1.895 kB e791be0477f2 4 months ago /bin/sh -c rm -rf /var/lib/apt/lists/* 0 B ccb62158e970 4 months ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 194.8 kB d497ad3926c8 4 months ago /bin/sh -c #(nop) ADD file:3996e886f2aa934dda 192.5 MB 511136ea3c5a 20 months ago 0 B 

编辑1:正如下面推荐的jwodder,添加--no-trunc选项给docker检查每层的完整命令。 我不会把这个例子放在这里,因为它太冗长了,但是肯定你会得到更多使用它的信息。