学习优先级:★★★★★
易用性:★★★☆☆
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
在这种情况下,生产文件会覆盖基础配置,从而提高灵活性。