网站建设合同技术开发合同范本,国内电商平台怎么做,seo推广原理,wordpress 做思维导图一、Docker Compose 简介
什么是 Docker Compose#xff1f; 用于定义和运行多容器 Docker 应用的工具。Docker Compose 的主要功能 使用 docker-compose.yml 文件定义服务。一键启动和管理多容器环境。安装与环境准备 安装 Docker 和 Docker Compose。检查版本#xff1a;d…一、Docker Compose 简介
什么是 Docker Compose 用于定义和运行多容器 Docker 应用的工具。Docker Compose 的主要功能 使用 docker-compose.yml 文件定义服务。一键启动和管理多容器环境。安装与环境准备 安装 Docker 和 Docker Compose。检查版本docker-compose --version。 二、Docker Compose 的基本概念
核心组件 服务 (Services)构成应用的各个容器。网络 (Networks)服务之间的通信方式。卷 (Volumes)持久化存储。docker-compose.yml 文件结构 版本声明version: 3.9。服务配置services。网络配置networks。卷配置volumes。 三、Docker Compose 的基本使用
创建一个简单的 docker-compose.yml 文件 示例运行一个 Nginx 容器
version: 3.9
services:web:image: nginx:latestports:- 8080:80常用命令 启动服务docker-compose up。后台启动docker-compose up -d。查看运行容器docker-compose ps。停止服务docker-compose down。 四、进阶配置
使用环境变量
version: 3.9
services:web:image: nginx:${NGINX_VERSION}使用 .env 文件设置环境变量NGINX_VERSIONlatest。
2、定义多个服务
示例Web 数据库组合Nginx MySQL
version: 3.9
services:web:image: nginx:latestports:- 8080:80db:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example五、Compose 网络与卷
网络的使用 默认网络类型bridge。自定义网络
networks:my-network:driver: bridge服务绑定到网络
services:web:networks:- my-network2、卷的持久化存储
定义卷
volumes:data-volume:挂载卷
services:db:image: mysql:5.7volumes:- data-volume:/var/lib/mysql六、调试与排错
查看日志docker-compose logs。查看特定服务日志docker-compose logs service_name。重启服务docker-compose restart。清理无用资源docker-compose down --volumes。 七、实际案例复杂应用部署
LAMP 堆栈 (Linux, Apache, MySQL, PHP)
version: 3.9
services:web:image: php:7.4-apacheports:- 8080:80volumes:- ./code:/var/www/htmldb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: example使用 Traefik 作为反向代理 配置示例。 八、CI/CD 中的 Docker Compose
在 GitHub Actions 中使用 Docker Compose。集成 Jenkins、GitLab CI 等工具。 九、高级技巧
使用 extends 复用配置。与 Swarm 模式结合扩展为分布式集群。 十、优化与性能调优
减少构建时间使用多阶段构建。合理配置资源限制
deploy:resources:limits:cpus: 0.5memory: 512M