一尘不染

如何在Dockerfile中设置映像名称?

docker

您可以在构建自定义图像时设置图像名称,如下所示:

docker build -t dude/man:v2 . # Will be named dude/man:v2

有没有一种方法可以在Dockerfile中定义映像的名称,所以我不必在docker build命令中提及它?


阅读 3011

收藏
2020-06-17

共1个答案

一尘不染

Dockerfile中不支持图像的标记。这需要在您的构建命令中完成。解决方法是,您可以使用docker-
compose.yml进行构建,以标识目标映像名称,然后运行docker-compose build。一个示例docker-
compose.yml看起来像

version: '2'

services:
  man:
    build: .
    image: dude/man:v2

就是说,有人反对使用compose进行构建,因为这不适用于swarm模式部署。因此,您将返回在问题中给出的命令:

docker build -t dude/man:v2 .

就个人而言,我倾向于在我的文件夹(build.sh)中使用一个小的Shell脚本进行构建,该脚本会传递任何args,并在其中包含图像名称以保存输入。对于生产来说,构建是由在管道脚本中具有映像名称的ci
/ cd服务器处理的。

2020-06-17