官方教程 Deploy a registry server | Docker Documentation
Docker Hub 虽然非常方便,但还是有些限制,比如:
-
需要 internet 连接,而且下载和上传速度慢。
-
上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的。
-
安全原因很多组织不允许将镜像放到外网。
一、Run a local registry
第一步:启动 registry 容器;
docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry --name registry registry:2
第二步:通过 docker tag
重命名镜像,使之与 registry 匹配
以centos为例,
docker pull centos
docker tag centos:latest localhost:5000/my-centos
第三步:Push the image to the local registry running at localhost:5000
:
docker push localhost:5000/my-centos
第四步:Remove the locally-cached centos:latest
and localhost:5000/my-centos
images, so that you can test pulling the image from your registry
docker image remove localhost:5000/my-centos
docker image remove centos:latest
第五步:Pull the localhost:5000/my-centos
image from your local registry
docker pull localhost:5000/my-centos
二、Stop a local registry
docker container stop registry
To remove the container, use docker container rm
.:
docker container stop registry && docker container rm -v registry