当前位置: 首页 > news >正文

Docker快速部署--docker-compose一键多容器应用编排部署

一.docker-compose作用

Docker Compose是一种用于定义和运行多容器Docker应用程序的工具。通过一个 docker-compose.yml 文件,您可以配置应用程序需要的所有服务(例如:Web服务器、数据库、缓存等)并轻松管理它们。

Docker Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

二.实践

Docker实践系列,前面三篇文章分别演示了单个容器一键部署&初始化:

nging前端服务器以及前端应用部署//

mysql数据库以及数据自动初始化//

springboot包应用自动部署以及初始化。

通过docker-compose,可以实现多容器编排部署,实现应用环境一键部署完成,适合交付以及生产环境,测试环境快速搭建。本次示例通过对之前示例进行优化,实现多容器一键自动部署以及数据初始化。

前置内容:

需要看过前面三篇,方便快速理解本篇内容。

docker Jar包一键部署:

https://blog.csdn.net/qq_27437073/article/details/154124508?spm=1001.2014.3001.5502

docker nginx web应用一键部署:

https://blog.csdn.net/qq_27437073/article/details/154118083?spm=1001.2014.3001.5502

dockermysql一键部署以及数据自动初始化:

https://blog.csdn.net/qq_27437073/article/details/154074919?spm=1001.2014.3001.5502

文件夹优化

        根据之前文字的示例,将各个运行配置重新按照下图文件夹编排好

        详细目录结构如下: 每个文件夹作用根据实际需要建立,具体作用翻阅之前文章       

docker-compose文件编写

  示例以及每个属性作用见注释:


version: '3.8' #指定Docker Compose文件格式的版本。常用版本为3.8,3.7等。
services:wb-mysql:image: mysql:5.7 #指定容器运行的镜像名称或镜像 ID。如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。 container_name: wb-mysql   #指定自定义容器名称,而不是生成的默认名称。ports: #宿主机端口 : 容器端口 (即:HOST:CONTAINER) 的格式,或者仅仅指定容器的端口(宿主机将会随机选择端口)。- "3306:3306"environment: #添加环境变量。您可以使用数组或字典、任何布尔值,布尔值需要用引号引起来,以确保 YML 解析器不会将其转换为 True 或 False。MYSQL_ROOT_PASSWORD: rootMYSQL_DATABASE: amequipmentTZ: Asia/Shanghaivolumes:- ./mysql/data:/var/lib/mysql- ./mysql/init-scripts:/docker-entrypoint-initdb.d- ./mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf- ./mysql/logs:/var/log/mysqlrestart: unless-stoppedwb-nginx:image: nginx:latestenvironment:- TZ=Asia/Shanghaicontainer_name: wb-nginxports:- "8080:80"- "8000:81"volumes:- ./nginx/dist:/usr/share/nginx/html- ./nginx/images:/images- ./nginx/logs:/var/log/nginx- ./nginx/conf.d:/etc/nginx/conf.drestart: unless-stoppedwb-api:build:context: ./apidockerfile: Dockerfile   #指定 Dockerfile 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像。environment:- TZ=Asia/Shanghaiimage: wb-apicontainer_name: wb-apiports:- "8081:8081"volumes:- ./api/logs:/logs- ./api/config:/config- ./nginx/images:/imagesdepends_on:- wb-mysqlrestart: unless-stopped  # extra_hosts:
#  - "somehost:162.242.195.82"
# 以上会在此服务的内部容器中 /etc/hosts 创建一个具有 ip 地址和主机名的映射关系:162.242.195.82  somehost 

启动

所有内容准备好后,cmd命令行执行

docker-compose up -d

即可一键初始化所有容器,并自动数据初始化以及配置。

三.注意事项

1.docker-desktop启动的容器,应用访问其他容器,默认ip是:

172.17.0.1+映射后的端口  #根据实际情况修改应用

http://www.dtcms.com/a/573163.html

相关文章:

  • LabVIEW 高速图像实时系统
  • Flutter项目在HarmonyOS(鸿蒙)运行报错问题总结
  • Unity LODGroup详解
  • Doris在CMP7(类Cloudera CDP 7 404版华为Kunpeng)启用 Kerberos部署Doris
  • 每周读书与学习->JMeter主要元件详细介绍(四)再谈取样器
  • 【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
  • 租用服务器一般是谁帮助维护网站安全营销网站找什么公司做
  • 四川建设厅下载专区网站iis7 伪静态 wordpress
  • 在FPGA中实现频率计方案详解(等精度测量)
  • HTTP 是什么?它是如何工作的
  • 西安网站seo技术厂家漯河市源汇区建设局网站
  • 火山引擎发布Data Agent新能力,推动用户洞察进入“智能3.0时代”​
  • vue-office——支持多种文件(docx、excel、pdf)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。
  • Unity SpriteRenderer 进度条 Shader 实现
  • 【数据结构】基于BF算法的树种病毒检测
  • 网站服务内容填网站建设可以网站友链查询源码
  • 详细解释 半正定性:对任意非零向量 v,有 vTΣv≥0。
  • 智能家居系统设计与实施方案
  • 【算法】图相关算法和递归
  • Vue开发系列——读取本地资源报错‘Not allowed to load local resource:
  • 【Java基础14】函数式接口、lamba表达式、方法引用一网打尽(下)
  • 金仓KES vs. 达梦DM:全面对比解析迁移、运维与授权成本
  • 国际网站如何推做推广个人做百度云下载网站吗
  • 【Python爬虫基础-1】爬虫开发基础
  • 外贸设计网站邯郸微信托管
  • 深度学习_原理和进阶_PyTorch入门(1)
  • C# 实现在 Excel 中高效生成和操作表格
  • OpenTeleDB xstore vs GaussDB ustore表膨胀测试
  • 使用 OpenAI Responses API 构建生产级应用的终极指南—— 状态、流式、异步与文件处理
  • 2025/11/5 IO流(字节流、字符流、字节缓冲流、字符缓冲流) 计算机存储规则(ASCII、GBK、Unicode)