1

我想开发一个 GeoDjango 应用程序,其他人也可以轻松使用它。我想使用 Docker 来打包应用程序。

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

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

如何查看此容器的 Dockerfile,以便将其用作我自己容器的基础?

4

2 回答 2

2

(目前)无法查看用于生成映像的 Dockerfile,除非作者已在某处发布了 Dockerfile。作为自动构建构建的图像将具有指向带有 Dockerfile 的源存储库的链接,但是对于手动构建和推送的图像,您仅限于人们在描述中发布的任何内容。

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

于 2015-02-25T17:41:18.983 回答
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 在下面推荐的那样,向 docker inspect 添加--no-trunc选项以检查每一层的完整命令。我不会在这里放这个例子,因为它太冗长了,但你肯定会得到更多使用它的信息。

于 2015-02-25T19:29:53.953 回答