2016-03-01 72 views
0

大量的文档,但我仍然错过了一些东西。我的目标是运行一次性注册表(2.0)推送到它的几个图像和导出\提交容器。 我需要把它放在zip文件中才能没有互联网的机器。Docker 用数据提交一个容器

事情是 - 我推送到注册表的图像不被保留。每当我输入regsitry来测试 - 它都是空的。据我所知,commit \ export将无法在挂载的卷上工作 - 我如何“禁用”初始注册表码头的卷?

回答

2

我宁愿建议你通过单独复制所需的图像,然后在运行时将它们挂载到注册表容器中,将图像(注册表v2)从传输数据中解耦出来。

有点像这样:

在机器上,你正准备注册表,使用像

docker run -d \ 
    --name registry \ 
    --restart=always \ 
    -e SEARCH_BACKEND=sqlalchemy \ 
    -e STORAGE_PATH=/srv/docker-registry \ 
    -v /srv/data/docker-registry:/srv/docker-registry \ 
    -p 127.0.0.1:5002:5000 \ 
    registry:2.0.0 

东西然后标记您的图像运行注册表容器为localhost:5000 /回购名称/图片-name和执行

docker push localhost:5000/repo-name/image-name 

之后,焦油/ ZIP /不管/ SRV /数据/码头工人的注册表,并做

docker save -o ~/docker-registry-v2 registry:2.0.0 

复制这两个档案到目标机器,

docker load -i ~/docker-registry-v2 

解压缩/解压缩/无论图像档案,并再次运行注册表wieht类似的运行命令如上,提供给你解压缩的图像档案的目录作为-v后的第一个路径。

使用此技术,您的注册表中的回购和图像也将在容器破坏和重新启动后存活。

+0

令人惊叹。会做到这一点。 – user1025852

相关问题