让每个人都有自己的 Docker 私服,Make Docker Great Again。
一个基于 Next.js 开发的全栈 Docker 镜像仓库管理系统,专为将 Docker Hub 镜像高效转存至华为云容器镜像服务(SWR)而设计。
支持一键部署,彻底解决镜像拉取缓慢问题,保障数据安全,让您完全掌控自己的 Docker 数据,我的 Docker 我做主。
- https://pocker4u.vercel.app/
- 访问密钥:pocker4u
本项目支持通过 Vercel 一键部署,部署过程中需要配置环境变量,请看下一步简化版本或详细图文步骤在线文档
建议查看获取环境变量在线文档
- ACCESS_KEY,系统登录凭证,请设置一个安全的密钥值,用于系统身份验证和访问控制
- GITHUB_TOKEN,访问GitHub令牌设置创建一个新的访问令牌,有效期建议设置为永久,注意:权限仅需勾选 workflow 即可
- HUAWEICLOUD_AK,访问华为云控制台获取ak,创建一个新的“用户组”并只授予SWR FullAccess权限,然后在这个用户组下创建一个新的“用户”,注意:创建时只需授予 SWR FullAccess 权限即可
- HUAWEICLOUD_SK,访问华为云控制台获取sk,注意:与HUAWEICLOUD_AK配套使用,同样只需授予 SWR FullAccess 权限
- NEXT_PUBLIC_HUAWEICLOUD_USERNAME,访问华为云容器镜像服务获取长期有效登录指令,通过上一步获取的AK和SK获取,只需要-u的值
- HUAWEICLOUD_PASSWORD,访问华为云容器镜像服务获取长期有效登录指令,通过上一步获取的AK和SK获取,只需要-p的值
- 打开你在 Vercel 上部署后获得的项目地址,进入"GitHub 配置"菜单下的"配置自动更新",填写您在 Vercel 上部署的项目名称(例如:pocker)。该项目名可在 Vercel 控制台查看,它对应着您 GitHub 账号下的一个私有仓库。
- 打开 Vercel 项目控制面板,进入 Settings → Environment → 点击 Production,跳转后把 Branch Tracking 的 master 改成 main ,最后保存
- 完成以上配置后,系统将自动同步最新功能和更新
每次修改后要重新部署才能生效
- 在 Vercel 项目控制面板中,进入 Settings → Environment Variables 页面
- 可以看到上述配置的所有环境变量
- 修改后,点击 Redeploy 重新部署项目
- 部署完成后即可开始使用系统,尽情体验吧!
- 🔐 密钥验证登录
- 🌍 支持多区域切换,轻松获取全球各地的容器镜像资源,目前支持全球23个地方节点
- 📦 镜像仓库管理
- 创建/删除镜像仓库
- 搜索镜像
- 公开/私有仓库切换
- 🏷️ 标签管理
- 查看镜像标签列表
- 创建新标签(基于已有镜像)
- 删除标签
- 搜索标签
- 复制标签pull地址
- 👥 命名空间管理
- 创建/删除命名空间
- 查看命名空间列表
- 📊 用量统计查看
- 查看命名空间数量、镜像仓库数量、标签数量、存储空间大小、下行流量大小
- ⚙️ GitHub Actions 自动化
- 自动创建/配置用于中转的 GitHub 仓库
- 自动配置用于中转的工作流
- 查看构建日志
- 🌓 支持暗黑模式
- 🎯 新手引导功能
- 🔄 自动版本检测与更新:支持新版本提醒,可选择自动更新模式,开启后系统将自动静默完成更新
- Next.js (Pages Router)
- Tailwind CSS
- Driver.js (新手引导)
- GitHub API
- 华为云 SDK
- Node.js 16+
- 华为云账号密钥
- GitHub 账号密钥
# 安装依赖
npm install
# 开发环境运行
npm run dev
# 构建
npm run build
# 生产环境运行
npm start
开发阿里云版本(已放弃,因阿里云免费版不支持SDK调用)开发腾讯云版本(已完成,但发现速度受限,已放弃)- 开发华为云版(已完成)
MIT
如果这个项目对你有帮助,欢迎请作者喝杯瑞幸,一杯在手,幸运共有 ☕