Тянуть и толкать образ докера на локальный хост через dind

При сборке изображений в dind (докер в докере) изображение доступно только в 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, как это сделать?

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

Тот же размер:-)

Но все еще не уверены, как получить изображение от localhost в Dind, какие-либо идеи?

Другие вопросы по тегам