具有相同名称的Docker实例将被覆盖

具有相同名称的Docker实例将被覆盖,docker,docker-compose,Docker,Docker Compose,我在windows环境中工作,使用最新版本的docker和docker compose。我想要的是硬盘上的每个项目都有自己的文件夹,并在其相应的docker compose yml文件中 当我跑的时候 docker-compose up -d 对于项目中的特定文件,它将覆盖最后一个项目实例。我相信这是因为我对所有项目都使用相同的名称(nginx、db等) 我怎样才能阻止这种行为?例如,我希望每个项目的数据库实例保持不变,这样当我在处理其他项目后再次启动它时,它仍将具有相同的数据。我更希望不要为

我在windows环境中工作,使用最新版本的docker和docker compose。我想要的是硬盘上的每个项目都有自己的文件夹,并在其相应的docker compose yml文件中

当我跑的时候

docker-compose up -d
对于项目中的特定文件,它将覆盖最后一个项目实例。我相信这是因为我对所有项目都使用相同的名称(nginx、db等)

我怎样才能阻止这种行为?例如,我希望每个项目的数据库实例保持不变,这样当我在处理其他项目后再次启动它时,它仍将具有相同的数据。我更希望不要为每个项目为实例命名不同的名称…我有大量实例,每次重新配置这些文件都是浪费时间


感谢您提供的帮助。

要在docker compose级别实现更好的隔离,您可以使用compose\u PROJECT\u名称(请参阅)

因此,创建具有以下内容的docker-compose-script.bat文件:

set COMPOSE_PROJECT_NAME=your_project_name
docker-compose %*
%*-将允许您通过脚本将每个docker compose命令传递给docker compose,以便您可以轻松执行:
docker-compose-script.bat up-d

请注意不要将.bat脚本命名为docker-compose.bat,因为您将进入无休止的循环