如何在Dockerfile中声明多个维护者?

ama*_*eod 27 docker dockerfile

我怎样才能最好地表明有多个使用Dockerfile?构建的docker镜像的作者/维护者?如果我包含多个单独的MAINTAINER命令,则只有最后一个命令才会生效.

MAINTAINER Me Myself "myself@example.com"
MAINTAINER My Colleague "mycolleague@example.com"
Run Code Online (Sandbox Code Playgroud)

mycolleague显示在输出中docker inspect.

我应该在MAINTAINER一行中使用逗号分隔列表吗?是想为列举两个维护打了水漂,我应该只是armwrestle我的同事看到其电子邮件我们把文件?

Har*_*ers 49

您只能MAINTAINER在Dockerfile中指定一条指令.

此外,MAINTAINER将在即将发布的1.13.0版本中弃用,请参阅弃用和此拉取请求.

推荐的解决方案是使用LABEL ,例如

LABEL authors="first author,second author"
Run Code Online (Sandbox Code Playgroud)

标签有key=value语法.这意味着您不能多次分配相同的标签,也不能将多个值分配给给定的标签.但是您可以使用您选择的语法将多个值组合成一个值,如示例中所示.

  • [当前建议](https://docs.docker.com/engine/reference/builder/#maintainer-deprecated) 是使用 `"org.opencontainers.image.authors"` 作为 **key**,因为这是一个[更广泛认可的元数据密钥](https://github.com/opencontainers/image-spec/blob/main/annotations.md)。它仍然是自由格式字符串**值**。 (7认同)
  • 好问题,@amacleod。似乎应该使用“org.opencontainers.image.authors”作为密钥,因为它是在 OCI 规范中指定的,请参阅引用的 [OCI 图像规范注释](https://github.com/opencontainers/ image-spec/blob/main/annotations.md):“前缀 `org.opencontainers` 是为开放容器计划 (OCI) 规范中定义的键保留的,不得由其他规范和扩展使用” (2认同)