我有一个以official nginx image开头的Dockerfile。
FROM nginx
然后他们设置了maintainer label。
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
所以,现在我的图像似乎也被它们保留了。
$ docker image inspect example-nginx
...
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
documentation mentions如何覆盖标签。但是,到目前为止,我能做的最好的就是将其设置为空值。
LABEL maintainer=
$ docker image inspect example-nginx
...
"Labels": {
"maintainer": ""
},
如何完全删除或取消设置由父图像设置的标签?
答案 0 :(得分:4)
很好的问题。我做了一些研究,据我所知,当前的Docker / Moby实现是不可能的。对于其他属性,这也是一个问题,正如您在此处看到的(问题来自2014年!):
https://github.com/moby/moby/issues/3465
我知道这确实很烦人,但是,如果您确实要删除它,可以尝试执行以下操作:
https://github.com/moby/moby/issues/3465#issuecomment-383416201
该家伙使用Python
脚本自动执行了此过程,该脚本似乎可以让您执行所需的操作:
https://github.com/gdraheim/docker-copyedit
您似乎要执行删除标签操作(https://github.com/gdraheim/docker-copyedit/blob/92091ed4d7a91fda2de39eb3ded8dd280fe61a35/docker-copyedit.py#L304)。
我不知道它是否有效(我还没有时间进行测试),但是我认为值得尝试。