当前位置: 首页 > 科技观察

Nexus作为容器注册表的配置指南

时间:2023-03-12 04:08:59 科技观察

开源和容器化重新设计了一个高效的价值流,可以为多种类型的生态系统构建多种类型的应用程序,但是组织如何使用几个不同的公共源(或注册表)来存储、管理并部署他们的容器化应用程序?Docker、Helm和Kubernetes的简化容器管理建立在广泛的企业存储功能之上,NexusRepository是所有Docker图像和HelmChart存储库的强大注册表。NexusRepository得到广泛的用户社区的支持,部署了超过500万个实例,支持全球1,200多个组织-600多个大型企业客户。团队可以选择使用NexusRepositoryOSS高性能和完全免费的容器注册中心,或者在需要企业级可扩展性和功能时选择NexusRepositoryPro。与DockerHub或Helm不同,开发团队使用NexusRepository作为所有公共注册表的中央访问点,从而为容器管理提供更高效和稳定的解决方案。除了在整个CI/CD构建管道中集成之外,使用完全受支持的企业级容器注册表还有很多好处。多种存储库类型Nexus存储库通过Proxy、Hosted和Group存储库支持Docker镜像和Helm3存储库,允许用户跨开发团队使用高级容器管理功能。代理存储库-通过为DockerHub或任何其他远程Docker镜像注册表设置代理存储库,减少重复下载并提高开发人员和CI服务器的下载速度。在本地缓存图像以加快上市时间并确保本地访问控制。托管存储库-使用Nexus存储库将您自己的容器图像以及第三方图像上传到私有Docker注册表。这些注册表的细粒度权限为开发团队和组织提供了增强的安全性。存储库组-允许用户在初始设置后无需任何额外的客户端配置即可从组中的所有存储库中提取图像。组存储库允许您使用该工具的一个URL访问来自多个代理和托管存储库的聚合内容。创建Docker镜像仓库创建Hosted类型仓库,设置HTTP方式访问,端口8090。更新Neuxs服务,添加端口8090。apiVersion:v1kind:Servicemetadata:name:nexus3namespace:devopslabels:k8s-app:nexus3spec:selector:k8s-app:nexus3ports:-name:webport:8081targetPort:8081-name:web2port:8083targetPort:8083-name:dockerport:8090targetPort:8090更新NeuxsIngress,设置域名为registry.idevops.site-host:registry.idevops.sitehttp:paths:-path:/backend:serviceName:nexus3servicePort:8090查看Nexuspod日志,会发现已经启动了。登录镜像仓库##默认HTTPS会提示错误[root@zeyang-nuc-service~]#dockerloginregistry.idevops.siteUsername:adminPassword:Errorresponsefromdaemon:Gethttps://registry.idevops.site/v2/:dialtcp192。168.1.230:443:connect:connectionrefused##更新docker配置[root@zeyang-nuc-service~]#vim/etc/docker/daemon.json{"exec-opts":["native.cgroupdriver=systemd"]"registry-mirrors":["https://c9ojlmr5.mirror.aliyuncs.com"],"insecure-registries":["192.168.1.200:8088","re??gistry.idevops.site"]}[root@zeyang-nuc-service~]#systemctldaemon-reload[root@zeyang-nuc-service~]#systemctlrestartdocker##再次登录[root@zeyang-nuc-service~]#dockerloginregistry.idevops.siteUsername:adminPassword:WARNING!Yourpasswordwillbestoredunencryptedin/root/.docker/config.json.Configureacredentialhelpertoremovethiswarning。参见https://docs.docker.com/engine/reference/commandline/login/#credentials-store测试上传图片[root@zeyang-nuc-service~]#dockertagmysql:5.7registry.idevops.site/library/mysql:5.7[root@zeyang-nuc-service~]#dockerpushregistry.idevops.site/library/mysql:5.7pushreferstorepository[registry.idevops.site/library/mysql]c187f0dccfe2:Pusheda45abaac81d1:Pushed71c5f5690a:Pushed8df989cb6670:Pushedf358b00d8ce7:Pushedae39983d39c4:Pushedb55e8d7c5659:Pushede8fd11b2289c:Pushede9affce9cbe8:Pushed316393412e04:Pushedd0f104dc0a1f:Pushed5.7:digest:sha256:55638620c5a206833217dff4685e0715fb297a8458aa07c5fe5d8730cc6c872fsize:2621在nexus中验证.Nexus作为容器注册表,通过用于容器存储管理和K8s部署的Docker和HelmRegistry为企业提供动力随着DevOps团队规模的扩大,依赖对应用程序中开源组件质量的准确报告至关重要。NexusLifecycle为开发人员和安全专家提供有关安全漏洞、许可风险和架构质量的开源组件情报。寻求具有最精确组件智能的完全集成的通用容器管理注册表的组织可以使用Nexus平台来满足容器化和开源治理不断增长的需求。