使用 docker-compose 时如何修复容器的基本名称?

How to fix basename of containers when using docker-compose?

似乎 docker-compose 将当前文件夹名称添加为每个创建的容器的基本名称。因此对于以下目录结构:

/myproj/docker-compose.yml

和docker-compose.yml内容:

web: ...
worker: ...

docker-compose 将创建以下容器:

myproj_web_1
myproj_worker_1

我不介意后缀 (_X) 但是我想 "fix" myproj 变成像 "always_same" 这样的常数,这样我就可以移动 docker-compose.yml 归档,仍然有同名的容器。

我该怎么做?

您可以将其添加到 .yml 文件中

container_name: my-web-container

如前所述here

有两种方法可以做到这一点。

设置环境变量

export COMPOSE_PROJECT_NAME=foo

或使用 -p 开关启动您的堆栈

docker-compose -p foo build
docker-compose -p foo up