CentOS7下使用SonatypeNexus3搭建Docker私有仓库
前置条件:安装docker(如果机器上没有安装的话)
//安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
//添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//更新 yum 缓存:
sudo yum makecache fast
//安装 Docker-ce:
sudo yum -y install docker-ce
//启动 Docker 后台服务
sudo systemctl start docker
安装仓储Nexus3
- 拉取镜像
docker pull sonatype/nexus3
- 启动容器
docker run -d --name nexus3 --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 sonatype/nexus3
8081是nexus主端口,其他4个端口为仓储预留的端口,下面的步骤要用到
- 访问管理界面
http://服务器的IP:8081/
- 登录
//在docker目录下查找admin.password文件并查看
cat `find /var/lib/docker -name admin.password -print`
//这一串guid就是默认密码
59837f82-508e-400b-85a1-79aa6ca71bca
默认用户名admin,登录之后在弹出的界面设置密码
- 创建仓储
点击齿轮 - Repositories - Create repository
填写仓储名称 - 为仓储分配端口8082,其他设置保持默认
- 安全设置
https://help.sonatype.com/repomanager3/formats/docker-registry/authentication
点击Realms - 将Docker Bearer Token Realm双击Active
- docker设置
//编辑docker服务端设置
vim /etc/docker/daemon.json
//将下面内容加到配置文件种
"insecure-registries":["http://yourip:8082"]
//重启docker
service restart docker
//查看设置是否生效
docker info
- 登录nexus私有仓库
docker login http://your ip:8082
然后按提示输入账号admin和密码
登录成功
制作image
//拉取hello-world镜像作为示例
docker pull hello-world
//制作私有镜像
docker tag hello-world yourip:8082/hello-world
//推送到私有服务器
docker push yourip:8082/hello-world
推送成功
现在在私有仓库管理界面可以看到这个镜像了