Nexus3
Docker 私有仓库
支持 3 种类型:
-
Docker (hosted): 它是一个私有 Docker 仓库,允许您上传和存储自己的 Docker 镜像。这为组织内部提供了一个中心存储点,确保了团队成员可以轻松地分享和获取镜像。
-
Docker (proxy): 它是代理其他公共或私有 Docker 仓库的地方。当您从代理仓库拉取镜像时,它会首先检查本地是否有该镜像的缓存,如果没有,它会从代理的外部 Docker 仓库拉取镜像,然后缓存到本地。这可以加速访问速度并提供中央控制点。
-
Docker (group): 它将多个 Docker 仓库(如hosted和proxy)组合在一起,提供一个单一的访问点。这允许用户从一个地址拉取多个仓库中的镜像,简化了配置和管理。
Q&A:
Q:我可以直接向 Docker (group) 提交容器,它会帮我提交至 Docker (hosted) 吗?
A:不,您不能直接向 Docker (group) 提交容器。Docker (group) 仓库是一个只读的仓库,它组合了其他仓库(如 hosted 和 proxy)的内容,但不支持直接的写入操作。
搭建方式
首先创建一个 blob store,名为 docker,用于文件存储。
之后创建 Docker (hosted):
- name:docker-host
- http:指定一个端口,例如 9002
- blob store:选择刚才的 store
- 勾选 Enable Docker V1 API
接下来配置权限:Realms > Move Docker Bearer Token Realm
to active > Save
Create Private Docker Registry (base on Nexus3) - Qiita
Docker 提交至私有源
在本地 docker 配置中,设置 insecure-registries
。
我有一个本地的 Python 工程,我想将它容器化,并且 dockerfile 已编写完成,且在本地环境运行正常。我想将其打包成容器,提交到 Docker 私有仓库中,供在其他机器上部署。
首先,开发机需要登陆 Docker 私有源:
docker login 192.168.31.29:9002
执行 docker ps -a
查看本地容器,找到了我需要提交的容器:
- image:ray_memex-ray_memex
- name:ray_memex-ray_memex-1
- id:29d7142c061d
把容器打包成镜像:
docker commit -a 'maxiee' -m 'init' 29d7142c061d ray_memex:latest
将本地 tag 与远端 tag 关联:
docker tag ray_memex:latest 192.168.31.29:9002/ray_memex:latest
将镜像推送至远端仓库:
docker push 192.168.31.29:9002/ray_memex:latest
至此,推送完成。
Docker搭建私仓,并且推送镜像全流程_docker registry 拉取镜像 push_明天再去学习的博客-CSDN博客
网络资源
使用nexus3搭建maven私服(超详细,建议收藏)_秃了也弱了。的技术博客_51CTO博客
本文作者:Maeiee
本文链接:Nexus3
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!