Docker
docker在pull镜像时,会向docker hub(公库或私库)对比镜像的image id号,如果不匹配会重新拉hub上新的镜像。所以如果是latest标签,hub的latest更新后docker pull时就会更新。
但在docker run或者Dockerfile中,不会对比id号,直接用本地名字对应的镜像。
Kubernetes
Kubernetes启动pod时会重新拉镜像,也会判断image id是否匹配,与docker pull情形一致。所以如果镜像不加标签(默认为latest)或使用latest标签,会自动更新至docker hub中最新latest镜像。
结论
使用latest标签:
1. 无法确定当前版本
2. 无历史版本留存记录
3. 有状态容器在无意识的版本升级后会遇到兼容性等问题
所以不建议使用latest标签。