当前位置:首页 > 恢复数据 > 正文内容

如何使用Docker Compose编排多个容器?

# Docker Compose 多容器编排|极简速通(一看就会、直接能用) 我给你**最实用、最通用、最不容易出错**的一套流程,不用复杂概念,照着写就能跑起来。 --- # 一、核心一句话 **Docker Compose = 用一个 YAML 文件,一键启动/停止/管理多个容器** 比如:Nginx + MySQL + Redis + SpringBoot 一起启动。 --- # 二、3 步搞定多容器编排 ## 1. 创建文件 在项目文件夹下新建: ``` docker-compose.yml ``` ## 2. 编写配置(复制就能用) 下面是**最标准模板**:Web + Redis + MySQL 三容器联动 ```yaml version: '3.8' services:  # 容器1:Web服务(你的项目)  web:    image: nginx:alpine    ports:      - "80:80"    volumes:      - ./html:/usr/share/nginx/html    depends_on:      - redis      - mysql    restart: always  # 容器2:Redis  redis:    image: redis:alpine    restart: always  # 容器3:MySQL  mysql:    image: mysql:8.0    ports:      - "3306:3306"    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: testdb    volumes:      - mysql-data:/var/lib/mysql    restart: always # 数据卷(持久化 MySQL 数据) volumes:  mysql-data: ``` ## 3. 一键启动 ```bash docker-compose up -d ``` --- # 三、最常用 5 条指令(背会就够) ```bash # 后台启动所有容器 docker-compose up -d # 停止所有容器(不删除数据) docker-compose stop # 停止并删除容器、网络 docker-compose down # 查看日志 docker-compose logs -f # 重启所有服务 docker-compose restart ``` --- # 四、YAML 里关键字的意思(一看就懂) ```yaml version: '3.8'        # 版本号 services:             # 所有容器写在这里  容器名:             # 自定义,如 web mysql redis    image: 镜像名     # 使用什么镜像    ports:            # 端口映射 宿主机:容器      - "80:80"    environment:      # 环境变量(密码、库名等)    volumes:          # 目录挂载(持久化)    depends_on:       # 依赖关系,先启动谁    restart: always   # 崩溃自动重启 ``` --- # 五、容器之间怎么互相访问? **重点:容器名 = 域名** 比如: - web 容器要连 MySQL - 不要写 `127.0.0.1` - 直接写容器名 **mysql** 示例连接地址: ``` jdbc:mysql://mysql:3306/testdb ``` --- # 六、最常用组合模板(直接复制) ## 1)Nginx + PHP + MySQL ```yaml version: '3.8' services:  nginx:    image: nginx:alpine    ports:      - "80:80"    volumes:      - ./html:/var/www/html    depends_on:      - php  php:    image: php:fpm-alpine    volumes:      - ./html:/var/www/html  mysql:    image: mysql:8    environment:      MYSQL_ROOT_PASSWORD: root ``` ## 2)Vue/React + Nginx ```yaml services:  web:    image: nginx    ports:      - "80:80"    volumes:      - ./dist:/usr/share/nginx/html ``` --- # 七、你只要告诉我 3 个信息,我能直接给你生成可运行的 docker-compose.yml 1. 你要启动哪些容器?(如 MySQL + Redis + SpringBoot) 2. 端口分别是什么? 3. 需不需要挂载目录持久化?

扫描二维码推送至手机访问。

版权声明:本文由手机数据加工厂发布,如需转载请注明出处。

本文链接:https://gaijilu.com/?id=246

“ 如何使用Docker Compose编排多个容器?” 的相关文章

如何使用工具提取微信PC端数据库的密钥?

# 微信PC端 提取数据库密钥 完整实操(纯工具、无调试、最简单) ## 重要法律声明 **仅允许提取自己微信账号数据**,禁止窃取、破解他人聊天记录,违规操作承担法律责任。 当前微信 PC 最新版本,通用方案:**PyWxDump 一键提取密钥**,无需逆向、无需x64dbg。 ---...

微信4.0聊天记录数据库文件解密分析

微信4.0聊天记录数据库文件解密分析

微信4.0分析记录要定位 key 的位置之前肯定先要找到真实的 key ,下面简单记录一下寻找过程。使用微信版本 4.0.0.26 进行分析。数据文档存储位置发生变化:C:\Users\xxx\Documents\xwechat_files\wxid_xxxxx\db_storage,且不可修改。进...

微信数据库解密神器PyWxDump:3步搞定聊天记录导出

第一步:环境准备与工具安装首先获取项目源码并完成环境配置:git clone https://gitcode.com/GitHub_Trending/py/PyWxDumpcd PyWxDumppip install -r requirements.txt安装完成后验证工具状态:python -m...

时序数据库选型权威指南:从大数据视角解读IoTDB的核心优势

时序数据库选型权威指南:从大数据视角解读 IoTDB 的核心优势在物联网、工业互联网与智慧城市驱动的PB 级时序数据时代,选型核心是平衡写入吞吐、存储成本、查询效率、生态兼容与云边协同五大维度。Apache IoTDB 作为国产顶级开源时序数据库,凭借原生工业级设计与大数据生态深度融合,成为高基数、...

Hive IDE连接及UDF实战

# Hive IDE连接 + UDF实战|完整一步通 我给你**最实用、企业真实场景、直接能跑**的全套流程: **DataGrip/DBeaver连接Hive** + **Java写UDF + 上传 + 注册 + 调用** --- # 一、Hive IDE 连接(2种最常用工具)...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。