如何将我的dockerregistry存储在文件系统中

我想在一个nginx服务器后build立一个私有的registry。 要做到这一点,我configuration了一个基本的身份validationnginx,并启动一个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 

通过这样做,我可以login到我的registry,推/拉图像…但是,如果我停止容器,并再次启动,一切都会丢失。 我希望我的registry保存在/home/example/registry但事实并非如此。 有人能告诉我我错过了什么吗?

我希望我的registry保存在/ home / example / registry中,但事实并非如此

在这种情况下,只有/home/exemple/registry目录在Docker容器文件系统上,而不是在Docker主机文件系统中。

如果您运行容器,将一个docker主机目录挂载到容器中的某个卷上,就可以实现您想要的function:

 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 

只要确保docker主机端存在/home/example/registry