目录
前言
Docker 的三个核心概念是镜像、容器和仓库,镜像仓库作为Docker技术的核心组件之一,其主要作用就是负责存储和分发 Docker 镜像的地方。本文详细介绍仓库一些知识点和如何搭建仓库。
仓库知识点
仓库是什么
Docker仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的场所。我们将镜像仓库分为公共镜像仓库和私有镜像仓库。公有镜像仓库是可以被任何人使用的,而私有镜像仓库则是指部署在公司或组织内部,主要用于自身应用Docker镜像存储、分发的镜像仓库。
搭建仓库
搭建公共镜像仓库
公共镜像仓库一般是 Docker 官方或者其他第三方组织(腾讯云,阿里云等)提供的,允许所有人注册和使用的镜像仓库。以Docker Hub 为例,教你如何使用公共镜像仓库分发和存储镜像,具体步骤如下:
(1)注册dockerhub https://hub.docker.com/signup,需要有一个账号
(2)注册完成后,点击创建仓库,新建一个仓库用于推送镜像。
(3)创建好仓库后,使用docker login
命令登录镜像服务器,输入对应的用户和密码,看到Login Succeeded
表示登录成功
docker login
小贴士:如果想登录访问阿里云镜像服务器,则使用docker login registry.cn-beijing.aliyuncs.com
,输入阿里云镜像服务的用户名密码即可。
(4)登录好后,就可以推送镜像到自己创建的仓库了,在本地推送到自定义仓库前,我们需要使用docker tag
命令将镜像“重命名”
docker tag tomcat daxiong6/mytomcat
(5)镜像“重命名”后,使用docker push
命令就可以推送镜像到自己创建的仓库中了
docker push daxiong6/mytomcat
此时,mytomcat这个镜像就被推送到自定义的镜像仓库了。
(6)最后,我们使用docker pull命令拉取mytomcat镜像
docker pull daxiong6/mytomcat
搭建私有仓库
(1)实现下载下载本地仓库,命令如下:
docker pull registry
(2)启动后,运行一个Registry镜像仓库的容器实例
docker run -d -ti --restart always\
--name my-registry\
-p 8000:5000\
-v /my-registry/registry:/var/lib/registry\
registry
小提示:registry内部对外开放端口是5000,我这边改为8000。默认情况下,会镜像存放于容器内的/var/lib/registry(官网Dockerfile中查看)目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失。
(3)在客户端查看镜像仓库中的所有镜像
curl http://your-server-ip:8000/v2/_catalog
小提示:
(4)推送镜像到本地仓库,首先我们使用docker tag
命令把 tomcat 镜像"重命名"为localhost:8000/mytomcat
docker tag tomcat localhost:8000/mytomcat
(5)使用docker push
推送镜像到本地仓库
docker push localhost:8000/mytomcat
(6)查看本地仓库镜像 ,并拉取镜像
docker pull localhost:8000/mytomcat
小贴士:你也可以用Harbor作为一个企业级私有Registry服务器,提供了更好的性能和安全,提升了用户使用Registry构建和运行环境传输镜像的效率 ,但是Harbor 需要结合 Kubernetes 才能发挥其最大价值,本文就没有展开介绍。
总结
到此,相信你对docker仓库有一定的了解,可以使用公共镜像仓库存储和拉取镜像,还可以自己动手搭建一个私有的镜像仓库。
如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。欢迎关注,一起docker学习之旅!