Dockerfiles是否存储在我的机器上?

时间:2017-02-26 01:25:48

标签: docker

当我运行命令时:

docker run dockerinaction/hello_world

第一次出现以下情景:

enter image description here

dockerinaction/hello_world Dockerfile如下所示:

FROM busybox:latest
CMD ["echo", "hello world"]

所以从措辞:

  

Docker在Docker Hub中搜索图像

有几件我很好奇的事情:

  • 图片 dockerinaction/hello_world
  • 图像是否会引用另一个名为busybox:latest图像
  • Dockerfile在我的机器上的某个地方怎么样?

1 个答案:

答案 0 :(得分:5)

按照相应的顺序回答每个项目符号问题:

  • 是的,图片dockerinaction/hello_world
  • 是的,图片确实引用了busybox:latest,并以此为基础。
  • 不,Dockerfile未存储在您的计算机上。 docker run命令正在下载在Docker Hub上找到的已构建Docker镜像的压缩版本。在某些方面,您可以将Dockerfile视为源代码,将构建的图像视为二进制文件。

如果您愿意,可以使用以下内容编写自己的Dockerfile:

FROM busybox:latest
CMD ["echo", "hello world"]

然后,在包含该文件(名为Dockerfile)的目录中,您可以:

$ docker build -t my-hello-world:latest .
$ docker run my-hello-world:latest

docker build命令构建Dockerfile,在这种情况下, 存储在您的计算机上。构建的Docker镜像标记为my-hello-world:latest,并且仅在您的计算机(构建它)上可用,除非您push在某处。您可以通过参考docker run命令中的标记从您的机器运行构建的图像,如上面的第二行所示。