【docker】Nexus搭建笔记

前言

  • 搭着玩一下

流程

docker pull sonatype/nexus3
mkdir /home/nexus && chown -R 200 /home/nexus
  • 启动容器,要2个端口,如果端口冲突,改冒号前面那个,那个是映射到宿主哪个。
docker run -d -p 8081:8081 -p 8082:8082 \
--name nexus \
-v /home/nexus:/nexus-data \
--restart always \
sonatype/nexus3
  • 无防火墙忽略
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp --permanent
  • 查看密码
cat /home/nexus/admin.password
  • 进入前面配置端口点登录。用户是 admin

  • 为了测试,可以先允许开启匿名访问。选择 Enable anonymous access ,点击下一步。

  • 我们使用有权限的账号登录后,点击页面头部导航栏的 齿轮 图标,选择左侧菜单中的 Repositories ,点击 Create repository 。

  • 在Nexus中,无论什么制品库,一般分为以下三种类型:
    • proxy: 此类型制品库原则上 “只下载,不允许用户推送”。可以理解为缓存外网制品的制品库。例如,我们在拉取nginx镜像时,如果通过proxy类型的制品库,则它会去创建时配置好的外网docker镜像源拉取(有点像cnpm)到自己的制品库,然后给你。第二次拉取,则不会下载。起到 缓存 的作用。
    • hosted:此类型制品库和proxy相反,原则上 ”只允许用户推送,不允许缓存“ 。这是私有库的核心,只存放自己的私有镜像或制品。
    • group:此类型制品库用作以上两种类型的 “集合” ,将上面两个库集合为一个使用。

  • 在这里,我们其实不需要缓存外网镜像,那么我们只需要 hosted类型 即可。选择 docker(hosted)。
    我们将启动Nexus镜像时,配置好的 Docker 端口填入HTTP 内,可以先允许匿名拉取镜像。

  • 写完成后,点击最下方的 Create repository,保存创建。

  • 私服建设完成后,还需要在客户端配置一下才可以使用。
    找到 daemon.json 文件,该文件描述了当前docker配置的镜像加速地址,和配置过的私服地址。

vim /etc/docker/daemon.json
  • 增加字段:
{
  "insecure-registries" : [
    "xxxx.xxxx.xxx.xx:8082"
  ]
}
  • nexus里有个realms 激活docker bearer token realms
systemctl restart docker
docker login 服务IP:端口
  • docker在推送一个镜像时,镜像的 Tag (名称:版本号) 必须开头带着镜像库的地址,才可以推送。
# docker tag <镜像ID> 新镜像名称[:版本]
docker tag bd695e3e4317 xxx.xxx.xxx.xx:8082/local/jenkins
  • push推送
docker push xxx.xxx.xxxx.xx:8082/local/jenkins
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业火之理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值