使用Nexus创建Docker仓库的方法步骤
使用Docker官方的Registry创建的仓库,面临着这样的问题,比如删除镜像后空间默认不会回收,造成空间被占用。比较常见的做法是使用Nexus来管理企业的工具包。
Nexus不仅可以创建Docker仓库,也可以NPM、Maven等多种类型的仓库。
启动Nexus容器
$dockerrun-d--namenexus3--restart=always\ -p8081:8081\ -p8082:8082\ --mountsrc=nexus-data,target=/nexus-data\ sonatype/nexus3 Unabletofindimage'sonatype/nexus3:latest'locally latest:Pullingfromsonatype/nexus3 c65691897a4d:Pullcomplete 641d7cc5cbc4:Pullcomplete c508b13320cd:Pullcomplete 79e3bf9d3132:Pullcomplete Digest:sha256:2c33632ccd8f8c5f9023a3d7f5f541e271833e402219f8c5a83a29d1721457ca Status:Downloadednewerimageforsonatype/nexus3:latest f637e039214978f8aac41e621e51588bd8cd8438055498c4060fbaf87799e64f
其中8081为Nexus的访问端口,8082为仓库的端口,网上大部分文章并没有加上8082端口的映射,导致我在测试的时候卡了很久。
稍等一两分钟,浏览器打开domain:8081。
点击右上角Signin进行登录,初始账号为admin,密码可以通过exec命令进入容器内,根据提示的路径查看初始密码。
进入容器查看初始密码
$dockerexec-itf637/bin/bash bash-4.4$vi/nexus-data/admin.password
登陆后会被要求修改密码,以后将使用这密码。
创建仓库
点击导航的齿轮按钮进入设置页面,进入Repository->Repositories点击Createrepository选择docker(hosted)
docker(hosted)为本地仓库,docker(proxy)为代理仓库,docker(group)为聚合仓库,本文只介绍本地仓库,如果有兴趣也可以到网上查找另外两种仓库的用法。
只需要填好上图中红框的部分即可,其中Name为仓库名,HTTP的输入框则是填写端口号8082,写好之后滑到页面底部,点击Createrepository即创建仓库。
添加访问权限
菜单Security->Realms把DockerBearerTokenRealm移到右边的框中保存。
添加用户规则:菜单Security->Roles->Createrole在Privlleges选项搜索docker把相应的规则移动到右边的框中然后保存。
添加用户:菜单Security->Users->Createlocaluser在Roles选项中选中刚才创建的规则移动到右边的窗口保存。
登录仓库
因为是创建的仓库是用HTTP的方式访问的,所以在登录前需要修改Docker配置中的Daemon
{"insecure-registries":["domain:8082"]}
$dockerlogindomain:8082 Username:yourName Password: LoginSucceeded
上传仓库、下载仓库、搜索仓库这些内容与上一篇文章中的一致,这里就不再赘述了。
其中需要注意的点为启动Nexus时,需要把仓库的端口一起映射到宿主机中。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。