引言
上一篇教程中演示如果安装和 nexus 的基本使用,本篇教程将演示如果在 nexus 中搭建 docker 私服,并实战如何上传镜像到私服和从私服下载镜像。
-
搭建内网开发环境(一)|基于docker快速部署开发环境
-
搭建内网开发环境(二)|Nexus安装及使用
开放权限
将 Docker Bearer Token Realm,添加到 Active
创建角色
创建一个 docker-publisher 角色,并赋予 docker-release 仓库的操作权限
创建用户
创建一个用户,并赋予 docker-publisher 角色,用户推送 docker 镜像
创建私服
- 创建存储空间,用于存储镜像
- 创建代理仓库 docker-aliyun-proxy,用于代理阿里云的镜像仓库,阿里云的镜像仓库可从阿里云->容器镜像服务
- 创建本地仓库 docker-hub-hosted,用于存储本地私有的依赖,需要暴露 http 或者 https 的端口号,因为私有仓库它既要 pull 镜像也需要 push 镜像
- 创建仓库组 docker-release,用于组合仓库 docker-aliyun-proxy 和 docker-hub-hosted,统一对外服务,用于拉取镜像;暴露 8084 端口号为对外服务端口号
在 docker 中使用私服
设置 docker 的镜像源为私服
- 修改 docker 的镜像源为私服镜像,修改 daemon.json 文件 ,执行命令
vi /etc/docker/daemon.json
,内容如下:
{
"registry-mirrors": ["http://10.0.0.3:8084"],
"insecure-registries": [
"10.0.0.3:8082",
"10.0.0.3:8084"
]
}
- 重启 docker 使配置生效
systemctl daemon-reload && systemctl restart docker
- docker info 查看
登录私服
- 执行登录命令
- 登录 docker-release:
docker login 10.0.0.3:8084 -u geekyous -p 123456
- 登录 docker-hub-hosted:
docker login 10.0.0.3:8082 -u admin -p 123456
- 登录 docker-release:
向私服中推送镜像
- 准备一个 nginx 镜像:
docker pull nginx:latest
- 制作私服镜像:
docker tag 10.0.0.3:8082/nginx:latest nginx:latest
- 推送镜像到私服:
docker push 10.0.0.3:8082/nginx:latest
- 仓库查看镜像
使用私服拉取镜像
- 拉取刚刚上传的镜像:
docker pull 10.0.0.3:8084/nginx:latest
结语
本文介绍了如果在 nexus 中搭建私服,并演示了如何上传镜像到私服和从私服下载镜像。