如何取消设置Docker映像标签?

时间:2018-06-21 22:05:03

标签: docker dockerfile

我有一个以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": ""
        },

如何完全删除取消设置由父图像设置的标签?

1 个答案:

答案 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)。

我不知道它是否有效(我还没有时间进行测试),但是我认为值得尝试。