OpenWrt上搭建自己的Nexus3 Docker镜像仓库
今天要给大家推荐一个超棒的东西,那就是在OpenWrt上用Nexus3搭建Docker镜像仓库啦。是不是最近某些加速拉不到镜像?作为一个新手小白,一开始也是懵逼脸,怎么搞?现在跟着我的步骤,你也能轻松get这个备用仓库,以防不测
首先,要确保你的OpenWrt(建议从OpenWrt.ai获取)系统已经安装了Dockerd和docker-compose这两个插件哦,如果还没安装的小伙伴要赶紧去安装。
接下来就要开始实战啦,关键步骤incoming,
1.打开命令行终端,创建一个目录,用于存放配置和目录。
mkdir -p /data/docker/nexus3 cd /data/docker/nexus3
2.在目录创建docker-compose.yml配置文件,文件内容如下:
services: nexus: image: sonatype/nexus3:3.68.1 container_name: nexus restart: always ports: - 8081:8081 - 8082:8082 environment: - "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" volumes: - nexus-data:/nexus-data volumes: nexus-data:
配置定义Nexus3容器的运行端口参数和持久化挂载目录等�
3.启动使用docker-compose up -d命令启动Nexus3容器�。运行后如下:
4.访问Nexus3的Web界面,默认地址是http://你OpenWrt设备的IP:8081
执行命令获取admin管理员的密码:
docker exec nexus cat /nexus-data/admin.password
用管理员登录后根据向导重新设置新密码,启用匿名访问Enable anonymous access
5.在Repositories下创建一个仓库,类型为docker(host),Name设置为inner-docker,HTTP设为8082,勾选Allow anonymous docker pull。
6.测试上传镜像到这个本地docker仓库
先在openwrt中修改 /etc/config/dockerd文件,globals下增加一行配置:
option alt_config_file '/etc/docker/daemon.json'
然后再修改 /etc/docker/daemon.json 文件,增加insecure-registries配置,如:
{ "insecure-registries": [ "你OpenWrt设备的IP:8082" ] }
然后重启docker服务。
接着在Nexus3设置Security-Realms中把Docker Bearer Token Realm放到右边保存激活。
使用命令登录到本地docker仓库
docker login 你OpenWrt设备的IP:8082
打标记让后推送镜像到本地docker仓库,能成功上传。
删除镜像后再试一下拉取也没有问题。
7.使用image-syncer工具,可以将需要的镜像从其他地方同步到Nexus3这个本地docker仓库中,具体使用方法不作介绍,可参考项目说明:github.com/AliyunContainerService/image-syncer/blob/master/README-zh_CN.md
看起来很复杂,但只要一步一步来,你也能掌握这个超实用的技能,管理Docker镜像变成小case啦。
最后呢,要提醒大家一点。虽然搭建私有镜像仓库很方便,但是也要注意数据安全问题哦,要做好权限控制和数据备份的工作,不然一旦数据丢失可就欲哭无泪了。
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包