如何从 docker-compose.yml 中定义 docker 图像名称?

How to define docker image name from within docker-compose.yml?

我的 docker 撰写项目有一个名为 thing 的目录:

thing
├── Dockerfile
└── docker-compose.yml

docker-compose.yml的内容:

master:
  build: .

每当我 运行 docker-compose build 在此文件夹中时,这将生成一个名为 thing_master 的 docker 图像。我想在 docker-compose.yml 中为我的图像指定另一个名称。这可能吗?

– 我知道我可以 运行 docker-compose -p [image_name] build 或设置环境变量 COMPOSE_PROJECT_NAME,但这不是我想做的。

现在可以在 Compose 1.6 (rc2 is out now) 中实现。

使用 1.6,您可以在同一服务上同时拥有 buildimage

version: "2"

services:
  master:
    build: .
    image: my_image_name:my_tag

构建将使用镜像名称来标记镜像。