📜  docker compose up from another file (1)

📅  最后修改于: 2023-12-03 15:30:31.511000             🧑  作者: Mango

使用 Docker Compose 从另一个文件中启动应用程序

在使用 Docker Compose 管理应用程序时,我们通常会使用 docker-compose.yml 文件来定义服务及其相关配置。然而,在某些情况下,我们可能需要从另一个文件中启动应用程序,比如当我们希望将一些配置项分离出来,或者在不同环境下使用不同的配置文件。在这种情况下,我们可以使用 -f--file 参数指定另一个 Docker Compose 文件,从而启动应用程序。

如何使用

假设我们有一个 docker-compose.yml 文件用于启动一个简单的 Node.js 应用程序:

version: "3"

services:
  app:
    build: .
    ports:
      - "3000:3000"

其中 app 服务表示我们的 Node.js 应用程序,使用当前目录下的 Dockerfile 构建镜像,并将容器的 3000 端口映射到主机的 3000 端口。

现在我们想要从一个名为 docker-compose.prod.yml 的文件中启动这个应用程序,以便在生产环境中使用。我们可以使用以下命令:

docker-compose -f docker-compose.prod.yml up

这将从 docker-compose.prod.yml 文件中读取服务定义和配置,并启动应用程序。

如果我们希望将 docker-compose.prod.yml 文件中的配置与 docker-compose.yml 文件中的配置合并,那么可以使用以下命令:

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

这将读取两个文件中的服务定义和配置,并将它们合并为一个最终的 Docker Compose 配置。需要注意的是,在多个配置文件中定义同一个服务或配置,后面的配置将覆盖前面的配置。

总结

通过使用 -f--file 参数,我们可以轻松地从另一个文件中启动 Docker Compose 应用程序。这种方法可以使我们分离配置、轻松地在不同环境中部署应用程序。