什么是Docker仓库?Docker仓库是一个存储Docker镜像(images)的地方,可以在此处管理和分享已构建的镜像。Docker官方提供了一个公共仓库:Docker Hub,使得开发者可以方便地分享和使用镜像。但是,如果你需要私有化的仓库以保护自己的代码,那么你可以在本地或服务器上部署Docker仓库。
Docker提供了两种仓库:Docker官方的公共仓库Docker Hub和Docker私有仓库。Docker Hub是公共的,类似于GitHub,开发者可以将自己的镜像发布到DockerHub上。Docker私有仓库是用来存储私有的镜像,只有授权的用户才能够访问和使用。
Docker Hub是Docker官方提供的公共仓库,但并不是所有的镜像都适合存放在Docker Hub中,例如保密的镜像,你需要在本地或服务器上设置Docker私有仓库来保存这些镜像。
搭建Docker私有仓库很容易,只需要在本地或服务器上安装Docker并下载Docker Registry镜像(该镜像用于搭建Docker私有仓库)。如下面的示例所示:
$ docker run -d -p 5000:5000 --name registry registry:2
上述命令将在本地启动Docker私有仓库,并将其映射到5000端口。如果你需要使用TLS协议保护Docker私有仓库,则需要使用另外的镜像来启动容器,例如启用了TLS协议的registry:2镜像。示例如下:
$ docker run -d \ --restart=always \ --name=registry \ -v /path/to/certs:/certs \ -v /opt/data/registry:/var/lib/registry \ -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ -p 443:443 \ registry:2
总之,Docker仓库在哪里?它可以是Docker官方的公共仓库Docker Hub,也可以是自己搭建的私有仓库。