大家好呀~💖今天要给大家推荐一个超棒的东西😍那就是在OpenWrt上用Nexus3搭建Docker镜像仓库啦👏👏👏是不是最近某些加速拉不到镜像?作为一个新手小白,一开始也是懵逼脸😵怎么搞?现在跟着我的步骤,你也能轻松get这个备用仓库哦,以防不测🎉
首先呢,要确保你的OpenWrt(建议从openwrt.ai获取)系统已经安装了dockerd和docker-compose这两个插件哦🐳如果还没安装的小伙伴要赶紧去安装哦~😋

接下来就要开始实战啦💪关键步骤incoming👇
1.打开命令行终端,创建一个目录,用于存放配置和目录。
mkdir -p /data/docker/nexus3
cd /data/docker/nexus32.在目录创建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啦😙赶快动手试试吧~💖相信你一定可以成功哒😘
最后呢,要提醒大家一点🧐虽然搭建私有镜像仓库很方便,但是也要注意数据安全问题哦🔐要做好权限控制和数据备份的工作📝不然一旦数据丢失可就欲哭无泪了😢
更多关注:www.9418666.xyz
评论 (0)