来自COMMAND的Dockerfile-是否总是从Docker Hub下载?

igetnqfo  于 2022-10-23  发布在  Docker
关注(0)|答案(1)|浏览(154)

这周我刚开始和docker一起工作,偶然发现了一个dockerfile。我正在阅读这个文件的功能,官方文档基本上提到了构建“基本映像”需要使用from关键字。这些基本图像是从Docker Hub获取的,或从那里下载的。
愚蠢的问题--基Map像总是从码头中心拉出来的吗?
如果是这样,并且如果我理解正确的话,我假设运行dockerfile来创建映像的操作不是很频繁(仅当需要创建映像时),并且一旦创建了映像,那么映像是什么?
那么,docker文件可以迁移到哪个环境中,并且可以快速重新设置所有内容?
请原谅我这个愚蠢的问题,我只是想了解整个流程以及dockerfile是如何适应各种情况的。

oyt4ldly

oyt4ldly1#

如果本地(在您的主机上)Docker守护进程(已经)在Dockerfile中拥有由FROM指定的容器镜像的副本(即,它已经被docker pull‘d),那么它将被缓存并且不会被重新拉取。
容器镜像包括一个标记(注意不要使用latest),镜像名称(例如foo)与标记(如果未指定,则默认为latest)组合在一起是所检查的镜像的全名,也就是说,如果您在本地有foo:v0.0.1FROM:v0.0.1,则使用本地副本,但FROM foo:v0.0.2将获取foo:v0.0.2
有一个隐式的docker.io前缀,即docker.io/foo:v0.0.1,它引用正在使用的Docker注册表。
您可以在运行容器的机器上重复使用docker build容器镜像,但这样效率很低,而且更常见的机制是,一旦构建了容器镜像,它就被推送到注册表(例如DockerHub),然后由任何需要它的机器从那里拉出。
有很多容器注册中心:DockerHub、Google Artifact RegistryQuay等。
除了docker之外,还有其他工具可用于与容器交互,例如(Red Hat‘s)Podman

相关问题