如何查看 DockerHub 容器的源代码以便对其进行调整?
How to see the source of a DockerHub container so I can adapt it?
我想开发一个其他人也可以轻松使用的 GeoDjango 应用程序。我想使用 Docker 来打包应用程序。
所以,一个非常简单的问题。
我可以看到 DockerHub 上有一个现有的 GeoDjango 容器:https://registry.hub.docker.com/u/jhonatasmartins/geodjango/
如何查看此容器的 Docker 文件,以便我可以将其用作我自己的容器的基础?
(目前)无法查看用于生成图像的 Dockerfile,除非作者已在某处发布了 Dockerfile。作为自动构建构建的图像将具有指向带有 Dockerfile 的源存储库的链接,但对于手动构建和推送的图像,您仅限于描述中发布的任何人。
您可以尝试联系镜像维护者。
有时候 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 以检查每一层的完整命令。我不会在这里放一个例子,因为它太冗长了,但你肯定会得到更多的信息。
我想开发一个其他人也可以轻松使用的 GeoDjango 应用程序。我想使用 Docker 来打包应用程序。
所以,一个非常简单的问题。
我可以看到 DockerHub 上有一个现有的 GeoDjango 容器:https://registry.hub.docker.com/u/jhonatasmartins/geodjango/
如何查看此容器的 Docker 文件,以便我可以将其用作我自己的容器的基础?
(目前)无法查看用于生成图像的 Dockerfile,除非作者已在某处发布了 Dockerfile。作为自动构建构建的图像将具有指向带有 Dockerfile 的源存储库的链接,但对于手动构建和推送的图像,您仅限于描述中发布的任何人。
您可以尝试联系镜像维护者。
有时候 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 以检查每一层的完整命令。我不会在这里放一个例子,因为它太冗长了,但你肯定会得到更多的信息。