环境
- 服务器:window10虚拟机搭建的虚拟机,虚拟机系统是centos8
- 服务器内安装了docker,同时安装了nexus3,nexus3暴露了三个端口:9081:8081(访问nexus用的)、9082:8082(docker(hosted)私有仓库,可以pull和push)、9083:8083(docker(proxy)代理远程仓库,只能pull)
创建docker的Blob
创建docker的hosted、proxy、group
hosted的HTTP端口:8082
group的端口: 8084
proxy 设置端口8083
创建完成后,进行安全设置
登录docker私服,报这个错误http: server gave HTTP response to HTTPS client 解决:
vi /etc/docker/daemon.json
最终文件内容
{
"registry-mirrors": ["https://hjwigbqv.mirror.aliyuncs.com"],
"insecure-registries":["http://192.168.57.128:9082","http://192.168.57.128:9083", "http://192.168.57.128:9084"]
}
复制代码
重加载docker配置文件
systemctl restart docker
复制代码
重新启动docker
systemctl restart docker
复制代码
重新分别登录docker的三个仓库
docker login 192.168.57.128:9082 -u admin -p hxslove:1996
docker login 192.168.57.128:9083 -u admin -p hxslove:1996
docker login 192.168.57.128:9084 -u admin -p hxslove:1996
复制代码
登录成功如下图:
打包镜像
依据现有的mysql容器打包镜像
docker tag mysql 192.168.57.128:9082/mysql:live
复制代码
注意:
- 必须是ip:镜像仓库端口/镜像名:镜像标签
查看所有镜像,发现有我新打的镜像192.168.57.128:9082/mysql:live
docker images
复制代码
将打好的镜像推到自己的镜像仓库
docker push 192.168.57.128:9082/mysql:live
复制代码
打开nexus网站,查看docker仓库,发现自己推的镜像已经推到了镜像仓库
从私有docker仓库拉取对应镜像
先删除原先打的镜像
docker rmi 192.168.57.128:9082/mysql:live
复制代码
查看本地镜像,发现镜像已被删除
拉取仓库里的镜像
docker pull 192.168.57.128:9082/mysql:live
复制代码
拉取成功