学习优先级:★★★★★

易用性:★★★☆☆

Docker Compose 允许定义和管理不同的环境,如开发环境和生产环境,以便根据不同的应用场景使用不同的配置。

以下是一个示例,展示了如何在 docker-compose.yml 文件中定义开发和生产环境。

示例代码

docker-compose.dev.yml(开发环境)

version: '3'

services:
  web:
    image: my-app:dev
    ports:
      - "8080:8080"
    environment:
      - DEBUG=true

docker-compose.prod.yml(生产环境)

version: '3'

services:
  web:
    image: my-app:latest
    ports:
      - "80:80"
    environment:
      - DEBUG=false

使用方法

开发环境:运行以下命令启动服务。

docker-compose -f docker-compose.dev.yml up

生产环境:运行以下命令启动服务。

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

执行结果

在开发环境中,服务将在端口 8080 上启动,并启用调试模式。在生产环境中,应用将在端口 80 上启动,且禁用调试模式。终端输出可能如下:

Starting web ... done

使用多个 Compose 文件允许开发人员为不同环境提供具有特定配置的环境。在开发环境中,可以启用更详细的日志记录或调试功能,而在生产环境中可以禁用这些功能以优化性能。

补充说明

还可以通过多次使用 -f 参数来组合多个 Compose 文件。例如:

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

在这种情况下,生产文件会覆盖基础配置,从而提高灵活性。