使用 Docker
官方的 Registry
创建的仓库,面临着这样的问题,比如删除镜像后空间默认不会回收,造成空间被占用。比较常见的做法是使用 Nexus
来管理企业的工具包。
Nexus
不仅可以创建 Docker
仓库,也可以 NPM、Maven
等多种类型的仓库。
启动 Nexus 容器
使用 docker run
命令启动 Nexus
容器:
网络异常,图片无法展示
|
查看启动后的 Nexus
容器:
网络异常,图片无法展示
|
查看 Nexus 和 registry 服务
Nexus
启动成功后,可以使用 HostIP+8081
访问 Nexus
服务,使用 HostIP+8082
访问 registry
服务。
查看 Nexus
服务:在本地 windows
访问虚拟机的 IP+8081
端口
网络异常,图片无法展示
|
查看 registry
服务:在本地 windows
访问虚拟机的 IP+8082
端口
网络异常,图片无法展示
|
添加访问权限:
网络异常,图片无法展示
|
网络异常,图片无法展示
|
以上操作主要是为 docker
的 repository
创建一条规则,具体约束为 admin
和 anonymous
都可以对镜像仓库进行所有操作。
登录 Nexus
的 registry
:
网络异常,图片无法展示
|
密码在
/root/.docker/config.json
中。
推送私有镜像到 Nexus
的 registry
:
网络异常,图片无法展示
|
查看推送结果:
网络异常,图片无法展示
|
到此,Nexus
的 registry
搭建完成。
Q&A
Nexus
服务对主机的内存和磁盘都有限制,所以在资源比较小的虚拟机上启动 Nexus
容器之后,需要对其资源配置文件进行修改。
Nexus
的启动命令:
docker run -d --name nexus3 --restart=always \ -p 8081:8081 \ -p 8082:8082 \ --mount src=nexus-data,target=/nexus-data \ sonatype/nexus3 复制代码
内存配置文件:
cat /etc/security/limits.conf nexus hard nofile 1024 nexus soft nofile 1024 复制代码
磁盘配置文件:
向/opt/sonatype/nexus/bin/nexus.vmoptions,添加如下行: -Dstorage.diskCache.diskFreeSpaceLimit=1024