问题现象:
最近在研究如何在window服务器环境中创建docker本地镜像仓库,由于网上几乎都是基于Linux服务器环境的,所以就能通过参考学习和实践,来完成这个目标。
问题分析:
通过自学,发现了创建docker镜像仓库的一些基本的逻辑原理,这是无论在window还是linux环境下,都肯定是一样的。
那么接下来就开始介绍:
配置:window,docker/docker desktop(window环境建议使用docker desktop)
这里讲解基于docker desktop的步骤:
1.启动docker desktop,打开cmd命令窗口,输入:
docker search registry
2.看到registry镜像,输入:
docker pull registry
3.查看镜像,看到已经下载到本地的registry镜像
docker images #查看本地镜像,可以看到registry镜像
4.查看镜像,看到已经下载到本地的registry镜像,下一步就是部署registry服务容器,
先在本机创建一个文件夹(如:E盘 下创建一个 registry文件夹)
输入:
docker run -d -p 5000:5000 --restart=always -v E:/registry:/var/lib/registry registry:latest
5.查看容器,看到已经部署好的registry容器,输入:
docker ps #查看运行中的容器
6.容器部署好之后,本机的镜像仓库就建好了,接下来就是要添加仓库地址,才能实现连接。
在docker desktop中可以直接实现可视化配置,简单方便:把镜像仓库地址(本机ip:5000)添加到 insecure-registries中:
7.重启docker desktop,通过重命名(docker tag 镜像id 镜像新标签名)创建一个新镜像,注意格式,必须是(本机ip:5000/)开头
8.上传镜像到本地镜像仓库,输入:
docker push
由于我事先上传过一次,所以显示 Layer already exists(数据已存在)
能看到 latest:digest:sha256:、、、 size:。。。(即为push成功)
下面演示一个首先上传镜像的结果图例子:
9.查看本机镜像仓库地址中的镜像,验证镜像是否成功上传:
方法1.打开浏览器,输入本机ip:5000/v2/_catalog 可以访问docker接口,查看镜像信息,(该方法是最准确的):
方法2.直接打开 本机的 E:\registry\docker\registry\v2\repositories文件路径,因为所有镜像都会存放在这个目录下,可以看见里面有个registry文件夹,这个文件夹就是刚才push的镜像数据文件:
注意:这里建议新手不要用registry镜像来测试,因为这个镜像的名字容易和路径中的registry混淆,概念不同,需区别开来。
进入该文件可以看到以下信息,则表示push成功:
、
10.删除本机镜像仓库中的镜像,目前我只想到在本机文件夹中直接删除的方法:
打开本机的 E:\registry\docker\registry\v2\repositories文件路径,删除这个 ,
再用方法1验证,可知删除成功:
标签:仓库,desktop,window,registry,镜像,docker,本机
来源: https://blog.csdn.net/weixin_42585386/article/details/113498406