我想开发一个GeoDjango应用程序,这个应用程序也很容易让其他人也可以使用。我想使用Docker打包应用程序。
所以,一个非常简单的问题。
我可以看到DockerHub上有一个现有的GeoDjango容器:https://registry.hub.docker.com/u/jhonatasmartins/geodjango/
如何查看此容器的Dockerfile,以便我可以将其用作自己容器的基础?
答案 0 :(得分:2)
除非作者已在某处发布了Dockerfile,否则(目前)无法看到用于生成图像的Dockerfile。构建为自动构建的图像将具有指向具有Dockerfile的源存储库的链接,但对于手动构建和推送的图像,您仅限于在描述中发布的任何人。
您可以尝试联系图片维护者。
答案 1 :(得分:2)
有时候,docker history <IMAGE_ID>
可以向您展示有关图像构建方式的一些提示。实际上,如果图像是使用Dockerfile构建的,那么将为您提供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
Edit1:正如jwodder在下面建议的那样,将--no-trunc
选项添加到docker inspect以检查每个图层的完整命令。我不会把这个放在这里作为例子,因为它太冗长了,但绝对会得到更多使用它的信息。