这周我刚开始和docker一起工作,偶然发现了一个dockerfile。我正在阅读这个文件的功能,官方文档基本上提到了构建“基本映像”需要使用from关键字。这些基本图像是从Docker Hub获取的,或从那里下载的。
愚蠢的问题--基Map像总是从码头中心拉出来的吗?
如果是这样,并且如果我理解正确的话,我假设运行dockerfile来创建映像的操作不是很频繁(仅当需要创建映像时),并且一旦创建了映像,那么映像是什么?
那么,docker文件可以迁移到哪个环境中,并且可以快速重新设置所有内容?
请原谅我这个愚蠢的问题,我只是想了解整个流程以及dockerfile是如何适应各种情况的。
1条答案
按热度按时间oyt4ldly1#
如果本地(在您的主机上)Docker守护进程(已经)在
Dockerfile
中拥有由FROM
指定的容器镜像的副本(即,它已经被docker pull
‘d),那么它将被缓存并且不会被重新拉取。容器镜像包括一个标记(注意不要使用
latest
),镜像名称(例如foo
)与标记(如果未指定,则默认为latest
)组合在一起是所检查的镜像的全名,也就是说,如果您在本地有foo:v0.0.1
和FROM: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 Registry、Quay等。
除了
docker
之外,还有其他工具可用于与容器交互,例如(Red Hat‘s)Podman。