本文主要介绍了Docker私有仓库建设和界面管理的案例,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章,收获多多。让桂哥网络带你去了解一下。
一、关于Registry
官方Docker hub是一个管理公共形象的好地方,我们可以在这里找到我们想要的形象或推广我们自己的形象。
但是有时我们的使用场景需要我们有一个私有的图像仓库来管理我们自己的图像。这可以通过开源软件注册表来实现。
注册表在github上有两个代码:旧代码库和新代码库。旧代码是用python写的,存在拉和推的性能问题。0.9.1版后被标记为弃用,不会继续开发。
新的代码库从2.0版开始开发。新的代码库用go语言编写,修改了图像id生成算法和注册表上的图像存储结构,大大优化了拉、推图像的效率。
官方提供Docker hub上的注册中心的图像,我们可以直接用这个图像构建一个容器,构建自己的私有仓库服务。
二、搭建Registry
首先搜索并拖动图像
Dockersearchregistery #建议先搜索,可以看看相关图片。也许有一天会有更好的形象
不能添加Dockerpullregistery #标记,因为最新的是v2运行一个注册表容器
Dockerrun-d\#在后台运行
- nameregistry-srv\# \ #指定容器名称
-重启=始终\# \ #设置自动启动
-p500033605000 \ #端口映射通过主机地址访问的主机
-v/opt/zwx-registry :/var/lib/registry \ #在本地挂载映像存储目录,以便于管理和持久化
-v/opt/zwx-registry/SRV-config . yml :/etc/docker/registry/config . yml \ #在本地安装配置文件,以便于修改和保存
registrysrv-config.yml内容如下
仓库的红色删除参数设置为真,以支持删除功能。默认情况下,该参数不可用,即不能删除仓库图像。
版本:0.1
log:
字段:
service:registry注册表
storage:
delete:
启用d :路径
cache:
blobdescriptor:inmemory
文件系统:
root directory :/var/lib/registry
http:
addr:5000
header RS :
X-内容-类型-选项:[否]
健康:
storaged driver :
启用d :路径
interval:10s
Threshold:3注册https协议(否则推送安全认证将不会通过)
映像需要从本地仓库下载,并且都需要配置
Vim/etc/docker/daemon.json#默认没有这个文件,需要自己添加。如果有,将附加以下内容。
{ ' insert-registries ' :[' xx . xx . xx . xx . xx :5000 ']} #指定IP地址或域名
Systemctldaemon-reload#守护进程重新启动
系统重启服务映像上传和下载
dockerpushxx . xx . xx . xx :5000/nginx #一定要注明仓库地址,否则会报错
dockerpullxx . xx . xx . xx :5000/nginx查看仓库图像信息
curl-xget http://xx . xx . xx . xx 33605000/v2/_ catalog #查看仓库图片列表(也可以通过windows浏览器打开)
curl-xgethttp://xx . xx . xx . xx 33605000/v2/image _ name/tags/list #查看指定的应用程序图像标记三、搭建Registry web
首先搜索并拖动图像
dockerarchdocker-注册表-web
这个图像使用更多的人来运行一个注册网站容器
d
ockerrun-d\#后台运行 --nameregistry-web\#指定容器名 --restart=always\#设置自动启动 -p8000:8080\#端口映射宿主机,通过宿主机地址访问 -v/opt/zwx-registry/web-config.yml:/etc/config.yml\#把配置文件挂载到本地,方便修改和保存 hyper/docker-registry-webweb-config.yml文件内容如下
标红readonly参数设置为false,是为了web页面可以显示删除按钮。默认是true,只读状态,没有删除按钮,只能查看。
registry: #Dockerregistryurl url:http://10.88.77.32:5000/v2 #Dockerregistryfqdn name:localhost:5000 #Toallowimagedelete,shouldbefalse readonly:false auth: #Disableauthentication enabled:false
部署完成后,浏览器打开仓库UI地址即可查看到所有应用镜像
选择任意应用镜像库,即可查看到该镜像的所有tag信息,每个tag后面都有个删除按钮(默认没有,配置参考config.yml)
四、快捷部署
集群模式可以通过docker stack快速部署registry和registry web。
新建配置文件srv-config.yml、web-config.yml放到指定路径,再新建docker-compose.yml文件,执行命令即可。
dockerstackdeploy-cdocker-compose.ymlRGT
version:'3.7' #dockerstack需要是3.0以上版本 services: registry-srv: #服务名 image:registry ports: #映射端口 -5000:5000 volumes: #挂载镜像路径和配置文件,注意修改路径与实际一致 -/opt/zwx-registry:/var/lib/registry -/opt/zwx-registry/srv-config.yml:/etc/docker/registry/config.yml deploy: #设置单任务,并约束主节点运行 mode:replicated replicas:1 placement: constraints: -node.role==manager registry-web: #服务名 image:hyper/docker-registry-web ports: #映射端口 -8000:8080 volumes: #挂载配置文件,注意修改路径与实际一致 -/opt/zwx-registry/web-config.yml:/conf/config.yml environment: -REGISTRY_URL=http://registry-srv:5000/v2 -REGISTRY_NAME=localhost:5000 deploy: #设置单任务,并约束主节点运行 mode:replicated replicas:1 placement: constraints: -node.role==manager
感谢你能够认真阅读完这篇文章,希望小编分享的“Docker私有仓库的搭建和界面化管理案例”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
TikTok千粉号购买平台:https://tiktokusername.com/
TOP