Docker,如何知道某个docker镜像有哪些服务?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker,如何知道某个docker镜像有哪些服务?相关的知识,希望对你有一定的参考价值。
据我了解,我们可以从注册表中公开提供任何docker镜像。我们还可以创建自己的docker镜像。假设我创建了一个docker镜像,我自定义了我想要的应用程序并安装了它们的依赖项。我将图像推送到公共注册表。
我的问题是,有人会怎么知道我的图片有哪些服务或应用程序?或者我在注册表中看到了一些图像,但我不知道他们有什么服务。
在这种情况下,我们可以从Dockerfile或requirement.txt文件中检索服务信息吗?如果可以,我在哪里可以找到其他人构建的图像的Dockerfile和requirement.txt?
作为一般规则,没有办法仅从图像中找到它。你可以docker inspect
图像,看看它的默认入口点和命令是什么,但图像不附带其Dockerfile,并不一定有requirements.txt
或setup.py
或Gemfile
或package.json
。如果您正在使用像Go这样的编译语言,那么可以构建一个仅包含应用程序的Docker镜像,而不是像shell那样只运行它的绝对必要的其他细节。
通常有人会有一些指向图像的其他指针,这些指针将包含更多细节。例如,如果图像的源位于GitHub上,那么GitHub项目的README.md
文件或其wiki通常会有更多关于图像的详细信息,通常Dockerfile
位于项目根目录中。您可以在username/imagename
上的Docker Hub(只有https://hub.docker.com/格式,没有注册表前缀)上查找图像。但是你需要某种关于图像的带外数据。
我们可以使用docker history
命令获取运行以创建此映像的命令列表。如果您使用了多阶段构建器,它将包含很少的哈希值。
以上是关于Docker,如何知道某个docker镜像有哪些服务?的主要内容,如果未能解决你的问题,请参考以下文章