docker - 如何取消设置Docker镜像标签?

标签 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": ""
        },

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

最佳答案

好问题。我做了一些研究,据我所知,当前的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)。
我不知道它是否有效(我还没有时间进行测试),但是我认为值得尝试。

关于docker - 如何取消设置Docker镜像标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50978051/

相关文章:

google-app-engine - 如何在App Engine自定义运行时Dockerfile中连接到SQL实例?

docker - 如何在 Github Action 上登录 pull registry for services

python - 错误 : pg_config executable not found when installing psycopg2 on Alpine in Docker

php - 如何使用 Dockerfile 以基于 Ubuntu 镜像的 php-fpm 启动 Nginx?

bash - 将项目目录设置为Dockerfile中Entrypoint的Workdir

apache - 为什么只有当我进入容器的 bash 时才能访问我的 Apache 默认页面?

Docker 和 ASP.NET Core 2.1 预览 1

bash - Dockerfile CMD 未在容器启动时运行

docker - Heroku h18 错误,而我的后端响应 200 到他们的路由器(多部分/表单数据)

docker - 如何在 docker build 中访问互联网?