您可以在构建自定义图像时设置图像名称,如下所示:
docker build -t dude/man:v2 . # Will be named dude/man:v2
有没有一种方法可以在Dockerfile中定义映像的名称,所以我不必在docker build命令中提及它?
docker build
Dockerfile中不支持图像的标记。这需要在您的构建命令中完成。解决方法是,您可以使用docker- compose.yml进行构建,以标识目标映像名称,然后运行docker-compose build。一个示例docker- compose.yml看起来像
docker-compose build
version: '2' services: man: build: . image: dude/man:v2
就是说,有人反对使用compose进行构建,因为这不适用于swarm模式部署。因此,您将返回在问题中给出的命令:
docker build -t dude/man:v2 .
就个人而言,我倾向于在我的文件夹(build.sh)中使用一个小的Shell脚本进行构建,该脚本会传递任何args,并在其中包含图像名称以保存输入。对于生产来说,构建是由在管道脚本中具有映像名称的ci / cd服务器处理的。