前两篇博客写了docker上传镜像到dockerhub,以及上传镜像到阿里云仓库。感兴趣的可以点下面链接
docker上传镜像到dockerhub
docker上传镜像到阿里云
前面两种方式都是放在云上,对于一些私密性比较高的东西,总归是不太安全。
这个时候就用到了docker私有仓库,在本地创建一个私有仓库,把镜像上传到本地的仓库,安全值直接+++
docker获取私有库镜像并运行
docker的私有库也是一个docker镜像,专门用来构建本地仓库的
docker pull registry拉取镜像
下载好之后查看镜像,已经有一个名为registry的镜像了
使用下面命令启动一个容器
docker run -d -p 5000:5000 -v /vhukze/myregistry/:/tmp/registry --privileged=true registry
启动好容器之后,可以使用curl命令访问一下仓库,看看有哪些镜像。现在肯定是空的
curl -XGET http://ip:5000/v2/_catalog
上传镜像到docker私库
把我们待上传的镜像使用tag命令打成符合私库规范的镜像,比如我这里使用nginx镜像测试
这里的IP和端口使用私库的IP和端口
由于docker私库默认只允许https的推送,需要把这个限制取消掉,修改docker的daemon.json配置,
vi /etc/docker/daemon.json
添加下面这句,注意是json格式,所以前面一行最后要加逗号 。加完之后保存退出
"insecure-registries":["ip:5000"]
重启docker使配置生效
systemctl restart docker
使用docker push命令推送镜像,等待上传完成
上传完成后,再次查询仓库内容,发现已经有一个镜像了
从私库拉取镜像
使用docker pull命令从私库拉取镜像