Is it possible for image to have multiple tags?

我与影子孤独终老i 提交于 2019-12-03 11:33:27

问题


When I am pushing new image to repo I would like it to have two tags for example 0.2 and latest. This would allow to always pull latest image version by using latest tag and a specific version by using 0.2 tag for example. Is it possible with docker?

Is there any workaround? The only solution I see is to make two separate pushes...


回答1:


You can create multiple tags:

docker tag <id> <user>/<image>:0.2
docker tag <id> <user>/<image>:latest

and push these.




回答2:


You need to do one push per each version like:

docker tag test:latest <repo>/<user>/test:latest
docker push <repo>/<user>/test:latest

docker tag test:0.2 <repo>/<user>/test:0.2
docker push <repo>/<user>/test:0.2

You can also combine and say the latest version is 0.2 like:

docker tag <repo>/<user>/test:latest <repo>/<user>/test:0.2
docker push <repo>/<user>/test:0.2

So those will point the same image layer.




回答3:


You can build an image with several tags and then push the image without explicitly specifying a tag. This will push all image tags to your image registry.

Example:

docker build -t reg/user/image:foo -t reg/user/image:latest .

docker push reg/user/image



回答4:


There are valid reasons for having multiple tags on an image (see OP) but if you are wanting to add tags for informational purposes, you may be better off with image labels.

Docker labels are inside the image rather than applied to it in the registry. This means the labels are immutable and always get copied with the image.

Label Schema defines a list of interoperable labels for things like version, vcs-ref, build-date and others.




回答5:


It pushes all the tags, if you dont specify the tags in push command.

docker tag user/imagename:tag1
docker tag user/imagename:tag2

docker push user/imagename


来源:https://stackoverflow.com/questions/31963525/is-it-possible-for-image-to-have-multiple-tags

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!