docker-compose 更改主容器的名称

Mic*_*elo 41 docker dockerfile docker-compose

我有一个简单的前端和后端应用程序。我有一个 docker-compose 文件,但它位于 frontend 文件夹内。因此,当我运行它时,前端和后端容器都在前端容器下(它采用文件夹的名称),如何重命名这个主容器?我用的是3.9版本

version: "3.9"
services:
  be_service:
    container_name: backend
    build:
      context: ../backend
      dockerfile: ./Dockerfile
    ports:
      - "8089:8080"
  fe_service:
    container_name: frontend
    build:
      context: ./
      dockerfile: ./Dockerfile
    ports:
      - "8088:80"
    depends_on:
      - be_service
Run Code Online (Sandbox Code Playgroud)

Blu*_*luE 56

当引用你的主容器时,你可能引用的是项目名称,你通常可以通过-p标志来设置它。(参见其他答案)

对于docker-compose,您可以将顶级变量设置name为您所需的项目名称。

docker-compose.yml 文件:

version: "3.9"
name: my-project-name
services:
  myService:
    ...
Run Code Online (Sandbox Code Playgroud)

如果您使用 Docker Desktop,请确保Use Docker Compose V2已启用。

  • 这会给出错误:错误:撰写文件“.\..\docker-compose.yml”无效,因为:“名称”与任何正则表达式都不匹配:“^x-”。编辑:在 Docker Desktop 中启用“使用 Docker Compose V2”解决了问题 (13认同)
  • 我投了反对票,因为我遇到了同样的错误。然后修复@HuguesGauthier 也为我解决了这个问题。但是,StackOverflow 尚未锁定我的否决票,并且在您通过修复更新答案之前我无法更改我的投票。只是一个友好的提示。 (2认同)

小智 28

与Docker Compose 文档相关,您可以使用以下命令设置项目名称:

docker-compose -p app up --build
Run Code Online (Sandbox Code Playgroud)

with-p app将您的撰写容器名称设置为app.