将本地镜像推送到私有库
一、下载docker registry
docker pull registry
二、运行私有库registry,相当于本地有个私有Docker hub
docker run -d -p 5000:5000 -v /test:/tmp/registry --privileged=true registry
*注: 默认情况,仓库被创建在容器的/var/liblregistry目录下,建议自行用容器卷映射,方便于宿主机联调
三、提交定制容器成为一个新镜像
-
启动一个容器
docker run
-
在该容器内安装自己需要的工具
-
通过docker commit命令提交该容器,使之成为一个新镜像
docker commit -m="描述说明" -a="作者" 容器id 要创建的镜像名称:TAG
四、将创建的新镜像,提交到本地的私有库registry中
-
curl验证私服库上有什么镜像(在容器 外运行)
curl -XGET http://本地ip:5000/v2/_catalog
-
将新镜像修改符合私服规范的Tag
docker tag 新镜像名称:TAG 本地IP:5000/提交后的镜像名称:TAG
-
取消docker默认不允许http方式推送镜像
vi /etc/docker/deamon.json { "registry-mirrors": ["https://*****.mirror.aliyuncs.com"], "insecure-registries": ["本地IP:5000"] }
*注:若修改不生效,建议重启docker【$ systemctl restart docker】
-
若重启了docker,需要重新启动Registry私服仓库
docker run -d -p 5000:5000 -v /test:/tmp/registry --privileged=true registry
-
推送本地镜像到私服库
docker push 推送镜像名称:TAG
五、验证
-
curl验证私服库上镜像是否推送成功(在容器外运行)
curl -XGET http://本地ip:5000/v2/_catalog
-
删除本地用于推送的新镜像
docker rmi -f 镜像名称:TAG
-
拉取私服上的镜像
docker pull 本地IP/要拉取的镜像名称:TAG
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)