运维基础之Docker(7)关于docker latest tag

Docker images have a tag named latest which doesn’t work as you expect.
Latest is just a tag with a special name.
“Latest” simply means “the last build/tag that ran without a specific tag/version specified”.
Just version your tags. Every time.

docker image有一个tag叫做latest,latest通过最近一次没有指定版本的build或tag来生成

下面实验来看:

$ docker tag imagename localhost:5000/imagename
$ docker push localhost:5000/imagename

这样可以在repository上创建一个版本为latest的imagename,下一次更新操作如下:

1)先停止使用旧的image的container并删除,然后删除旧的image

$ docker stop $container_id
$ docker rm $container_id
$ docker rmi localhost:5000/imagename

2)同上

$ docker tag imagename localhost:5000/imagename
$ docker push localhost:5000/imagename

这种方式不会保留历史版本;

更好的做法是:

1)版本1

$ docker tag imagename localhost:5000/imagename:1
$ docker push localhost:5000/imagename:1
$ docker tag imagename localhost:5000/imagename
$ docker push localhost:5000/imagename

这时latest=1

2)版本2

$ docker tag imagename localhost:5000/imagename:2
$ docker push localhost:5000/imagename:2

$ docker stop $container_id
$ docker rm $container_id
$ docker rmi localhost:5000/imagename
$ docker tag imagename localhost:5000/imagename
$ docker push localhost:5000/imagename

这时latest=2


参考:
https://medium.com/@mccode/the-misunderstood-docker-tag-latest-af3babfd6375
https://stackoverflow.com/questions/39352186/update-a-docker-image-in-registry

 

posted @   匠人先生  阅读(3456)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示