使用 Docker 官方的 Registry 创建的仓库,面临着这样的问题,比如删除镜像后空间默认不会回收,造成空间被占用。比较常见的做法是使用 Nexus 来管理企业的工具包。

Nexus 不仅可以创建 Docker 仓库,也可以 NPM、Maven 等多种类型的仓库。

启动 Nexus 容器

$ docker run -d --name nexus3 --restart=always   -p 8081:8081   -p 8082:8082   --mount src=nexus-data,target=/nexus-data   sonatype/nexus3
Unable to find image 'sonatype/nexus3:latest' locally
latest: Pulling from sonatype/nexus3
c65691897a4d: Pull complete
641d7cc5cbc4: Pull complete
c508b13320cd: Pull complete
79e3bf9d3132: Pull complete
Digest: sha256:2c33632ccd8f8c5f9023a3d7f5f541e271833e402219f8c5a83a29d1721457ca
Status: Downloaded newer image for sonatype/nexus3:latest
f637e039214978f8aac41e621e51588bd8cd8438055498c4060fbaf87799e64f

其中 8081 为 Nexus 的访问端口,8082 为仓库的端口,网上大部分文章并没有加上 8082 端口的映射,导致我在测试的时候卡了很久。

稍等一两分钟,浏览器打开 domain:8081。

点击右上角 Sign in 进行登录,初始账号为 admin,密码可以通过 exec 命令进入容器内,根据提示的路径查看初始密码。

进入容器查看初始密码

$ docker exec -it f637 /bin/bash
bash-4.4$ vi /nexus-data/admin.password

登陆后会被要求修改密码,以后将使用这密码。

创建仓库

点击导航的齿轮按钮进入设置页面,进入 Repository->Repositories 点击 Create repository 选择 docker (hosted)

docker (hosted) 为本地仓库,docker (proxy) 为代理仓库,docker (group) 为聚合仓库,本文只介绍本地仓库,如果有兴趣也可以到网上查找另外两种仓库的用法。

只需要填好上图中红框的部分即可,其中 Name 为仓库名,HTTP 的输入框则是填写端口号 8082,写好之后滑到页面底部,点击 Create repository 即创建仓库。

添加访问权限

菜单 Security->Realms 把 Docker Bearer Token Realm 移到右边的框中保存。

添加用户规则:菜单 Security->Roles->Create role 在 Privlleges 选项搜索 docker 把相应的规则移动到右边的框中然后保存。

添加用户:菜单 Security->Users->Create local user 在 Roles 选项中选中刚才创建的规则移动到右边的窗口保存。

登录仓库

因为是创建的仓库是用 HTTP 的方式访问的,所以在登录前需要修改 Docker 配置中的 Daemon

{ "insecure-registries": ["domain:8082"] }

$ docker login domain:8082
Username: yourName
Password:
Login Succeeded

上传仓库、下载仓库、搜索仓库 这些内容与上一篇文章中的一致,这里就不再赘述了。

其中需要注意的点为启动 Nexus 时,需要把仓库的端口一起映射到宿主机中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
Nexus创建Docker,Nexus,Docker创建仓库

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“使用Nexus创建Docker仓库的方法步骤”

暂无“使用Nexus创建Docker仓库的方法步骤”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。