使用 Nexus 代理 Docker Hub 的配置指南
在本篇文章中,我们将详细介绍如何配置 Nexus 以代理 Docker Hub,从而实现更高效的镜像管理。以下步骤涵盖了从 Nexus 的安装到 Docker 客户端的配置。
1. 配置 Nexus
1.1 登录 Nexus
- 打开浏览器,访问 Nexus 的 URL(例如
http://localhost:8081
)。 - 输入管理员账户和密码(默认是
admin
/admin123
,首次登录后需修改)。
1.2 创建 Docker 代理仓库
- 在 Nexus 主界面,点击左侧菜单中的 Repositories。
- 点击右上角的 Create repository 按钮。
- 选择 docker (proxy) 类型。
- 在弹出的配置页面,填写以下信息:
- Name: 输入仓库名称(如
docker-proxy
)。 - Remote storage: 输入 Docker Hub 的 URL,通常为
https://registry-1.docker.io
。 - HTTP Port: 输入要监听的端口(默认是
8081
,可根据需要更改)。 - Blob store: 默认选择即可。
- Name: 输入仓库名称(如
- 点击 Create repository 完成创建。
1.3 创建 Docker Hosted 仓库(可选)
如果您需要将镜像推送到 Nexus,请创建一个 hosted 仓库:
- 在 Create repository 窗口,选择 docker (hosted) 类型。
- 输入名称(如
docker-hosted
),并设置 HTTP 端口(可与代理仓库相同)。 - 点击 Create repository 完成创建。
2. 配置 Docker 客户端(在 NAS 上)
2.1 修改 Docker Daemon 配置
-
通过 SSH 登录到您的 NAS。
-
使用文本编辑器(如
vim
或nano
)打开 Docker 配置文件:sudo vim /etc/docker/daemon.json
如果文件不存在,可以创建它。
-
添加以下内容,替换
nexus_ip
和port
为您的 Nexus 实际 IP 地址和端口(如192.168.1.100:8081
):{ "insecure-registries": ["nexus_ip:port"] }
-
保存文件并退出编辑器。
2.2 重启 Docker 服务
运行以下命令以使配置生效:
sudo systemctl restart docker
3. 测试配置
在 NAS 上执行以下命令,以测试是否能够从 Nexus 拉取镜像:
docker pull nexus_ip:port/docker-proxy/image_name
4. 注意事项
- 网络设置:确保您的笔记本与 NAS 在同一网络中,并可以相互访问。
- 防火墙设置:如果您启用了防火墙,请确保相应的端口(如 8081)是开放的。
- 证书问题:如果使用 HTTPS,确保 Nexus 配置了有效的 SSL 证书。
通过以上步骤,您就能成功配置 Nexus 作为 Docker Hub 的代理。这不仅提升了镜像的管理效率,还为团队的协作提供了便利。如果您在配置过程中遇到任何问题,请随时与我联系!