我有一个以官方 nginx 图像开头的 Dockerfile 。
FROM nginx
Run Code Online (Sandbox Code Playgroud)
他们设置了维护者标签。
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
Run Code Online (Sandbox Code Playgroud)
所以,现在我的形象似乎也被他们维护了。
$ docker image inspect example-nginx
...
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
Run Code Online (Sandbox Code Playgroud)
该文档 提到了如何覆盖标签。但是,到目前为止,我能做的最好的事情就是将其设置为空值。
LABEL maintainer=
Run Code Online (Sandbox Code Playgroud)
$ docker image inspect example-nginx
...
"Labels": {
"maintainer": ""
},
Run Code Online (Sandbox Code Playgroud)
如何完全删除或取消设置由父图像设置的标签?
Wil*_*ins 10
很好的问题。我做了一些研究,据我所知,目前的 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),这就是你想要的。
我不知道它是否有效(我没有时间测试),但我认为值得一试。
| 归档时间: |
|
| 查看次数: |
2399 次 |
| 最近记录: |