【问题标题】:pull and push docker image to localhost via dind通过 dind 拉取并推送 docker 镜像到 localhost
【发布时间】:2019-02-28 17:46:19
【问题描述】:

在dind(docker in 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>

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

其次,如果我想从Dind的localhost拉取图片,该怎么做?

【问题讨论】:

    标签: docker docker-in-docker


    【解决方案1】:

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

    $ 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 中从 localhost 提取图像,有什么想法吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多