1

我想在 nginx 服务器后面设置一个私有注册表。为此,我使用基本身份验证配置了 nginx,并启动了一个 docker 容器,如下所示:

docker run -d \
     -e STANDALONE=true \
     -e INDEX_ENDPOINT=https://docker.example.com \
     -e SETTINGS_FLAVOR=local \
     -e STORAGE_PATH=/home/example/registry \
     -p 5000:5000 \
     registry

通过这样做,我可以登录到我的注册表,推/拉图像......但是如果我停止容器并重新启动它,一切都会丢失。我本来希望我的注册表被保存,/home/example/registry但事实并非如此。有人可以告诉我我错过了什么吗?

4

1 回答 1

2

我本来希望我的注册表保存在 /home/example/registry 但事实并非如此

是这样,只有/home/exemple/registry目录在 docker 容器文件系统上,而不是 docker 主机文件系统上。

如果您运行容器,将您的 docker 主机目录之一挂载到容器中的,它将实现您想要的:

docker run -d \
     -e STANDALONE=true \
     -e INDEX_ENDPOINT=https://docker.example.com \
     -e SETTINGS_FLAVOR=local \
     -e STORAGE_PATH=/registry \
     -p 5000:5000 \
     -v /home/example/registry:/registry \
     registry

只需确保它/home/example/registry存在于 docker 主机端。

于 2014-10-02T18:16:39.883 回答