恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Docker Compose文件

  • 首页
  • 资讯中心
  • /
  • Docker Compose文件

相关资讯

【原创】基于微信小程序+AI大模型+uni-app的汽车保养维修预约小程序(设计与实现) 2026/8/27 21:00:30
数模混合PCB设计实战:分区、层叠与抗干扰布局布线指南 2026/8/27 21:00:30
React上传组件重构:hooks-first + headless + 可插拔transport 2026/8/27 21:00:30

最新资讯

千问Qwen本地部署与API接入实战:显存估算、批量任务与苹果生态集成
前端全栈开发里常见的反模式
YOLOv8人脸检测实战:从环境配置到模型训练与部署全解析
微信小程序图书馆座位再利用系统设计与实现
微信小程序图书馆座位再利用系统开发实战
LabelImg中文版安装与使用:解决float报错完整指南

今日推荐

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]
凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析
2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Docker Compose文件

发布时间:2026/8/27 21:00:30
Docker Compose文件 Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个docker-compose.yml配置文件来声明多个容器如应用、数据库等然后用一条命令启动或停止整个应用栈。一、Docker Compose在没有 Docker Compose 之前如果要用 Docker 跑一个完整的应用比如一个 Python Web 应用 MySQL 数据库需要手动执行一连串docker run命令docker run -d --name mysql -e MYSQL_ROOT_PASSWORD123456 mysql:8.0 docker run -d --name redis redis:7.0 docker run -d --name app -p 8080:8080 myapp:latest而 Docker Compose 通过一个声明式的配置文件把上面所有问题都解决了。二、文件docker-compose.ymldocker-compose.yml是 Compose 的配置文件采用 YAML 格式。它定义了应用的服务services、网络networks和数据卷volumes。示例version: 3.8 services: # MySQL 数据库服务 mysql: image: mysql:8.0 container_name: myapp_mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: myapp MYSQL_USER: app_user MYSQL_PASSWORD: app_pass ports: - 3306:3306 volumes: - mysql_data:/var/lib/mysql - ./init.sql:/docker-entrypoint-initdb.d/init.sql networks: - app_network healthcheck: test: [CMD, mysqladmin, ping, -h, localhost] interval: 10s timeout: 5s retries: 3 # Python 应用服务 app: build: context: . dockerfile: Dockerfile container_name: myapp_python restart: always ports: - 8080:8080 environment: - DB_HOSTmysql - DB_PORT3306 - DB_USERapp_user - DB_PASSWORDapp_pass - DB_NAMEmyapp volumes: - ./app:/app - /app/__pycache__ # 排除缓存 depends_on: mysql: condition: service_healthy networks: - app_network command: python app.py # Redis 缓存服务 redis: image: redis:7.0-alpine container_name: myapp_redis restart: always ports: - 6379:6379 volumes: - redis_data:/data networks: - app_network # 数据卷声明 volumes: mysql_data: redis_data: # 网络声明 networks: app_network: driver: bridge三、配置项1.services服务的定义每个服务代表一个容器。字段说明示例image使用现成的镜像image: mysql:8.0build从 Dockerfile 构建镜像build: .container_name指定容器名称container_name: myapp_mysqlrestart重启策略restart: alwaysports端口映射ports: - 8080:8080environment/env_file环境变量environment: DB_HOSTmysqlvolumes挂载数据卷volumes: - mysql_data:/var/lib/mysqlnetworks加入的网络networks: - app_networkdepends_on依赖关系depends_on: - mysqlcommand覆盖默认命令command: python app.pyhealthcheck健康检查healthcheck: test: [CMD, curl, -f, http://localhost]2.volumes数据卷声明volumes: mysql_data: # 命名卷由 Docker 管理 redis_data: # 也可以指定外部卷 # external_data: # external: true3.networks网络声明networks: app_network: driver: bridge # 也可以使用 overlay 网络Swarm 模式 # overlay_network: # driver: overlay四、常用命令基础命令命令作用docker-compose up -d启动所有服务-d 后台运行docker-compose down停止并删除所有容器docker-compose ps查看服务状态docker-compose logs查看日志docker-compose logs -f app实时查看 app 服务的日志docker-compose stop停止服务不删除容器docker-compose start启动已停止的服务docker-compose restart重启服务构建与管理# 构建镜像 docker-compose build # 构建时不使用缓存 docker-compose build --no-cache # 拉取所有服务的镜像 docker-compose pull # 进入某个服务容器执行命令 docker-compose exec app bash # 查看某个服务的端口映射 docker-compose port app 8080扩展命令# 启动指定服务 docker-compose up -d mysql redis # 以特定配置文件启动 docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d # 指定项目名称默认是目录名 docker-compose -p myproject up -d五、进阶配置1. 环境变量文件.env# .env 文件 DB_PASSWORD123456 APP_PORT8080# docker-compose.yml services: app: ports: - ${APP_PORT}:8080 environment: - DB_PASSWORD${DB_PASSWORD}2. 多环境配置# docker-compose.override.yml默认会被自动加载 services: app: environment: - DEBUGtrue# docker-compose.prod.yml生产环境用 services: app: environment: - DEBUGfalse restart: always# 使用生产配置 docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d3. 服务依赖与条件depends_onservices: app: depends_on: mysql: condition: service_healthy # 等待健康检查通过 redis: condition: service_started # 等待启动即可4. 资源限制services: app: deploy: resources: limits: cpus: 0.5 memory: 512M reservations: cpus: 0.25 memory: 256M

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号