1

在 dind(docker 中的 docker)中构建图像时,图像只能在 dind 中访问。

$ docker run -d --name dind --privileged --net=host -v `pwd`:/app -w /app docker:stable-dind
fe66d6e7e5effcf15e439a332a2368fddab810e9bc8ac3445392c8e56b0aa38a

$ docker exec dind ls
Dockerfile

$ docker exec dind docker build -t demo .
Sending build context to Docker daemon  521.7kB
Step 1/24 : FROM alpine
...

$ docker exec dind docker images|grep demo
REPOSITORY                                              TAG                 IMAGE ID            CREATED             SIZE
demo                                                    latest              a9dd4e725029        7 seconds ago       88.3MB

$ docker images |grep demo
<no result>

我可以将图像推送到公共或私有 docker 注册表服务器dind,因为它们有 IP 或 dns 名称可以访问。但是我怎样才能将新图像推回本地主机(the host running dind

其次,如果我想从 Dind 的 localhost 中提取图像,该怎么做?

4

1 回答 1

0

我现在可以回答我的第一个问题。

$ docker exec dind docker save demo |docker load
2f7d711abbe9: Loading layer [==================================================>]  11.44MB/11.44MB
...
Loaded image: demo:latest

$ docker images |grep demo
demo                                                                              latest                  a9dd4e725029        8 minutes ago       88.3MB

相同大小:-)

但是仍然不确定如何从 Dind 的本地主机中提取图像,有什么想法吗?

于 2018-09-25T07:20:45.720 回答