docker-compose的使用,连接mysql+tomcat+nginx

使用docker-compose启动springboot项目,并连接mysql数据库 使用docker-compose启动springboot项目,并连接mysql数据库一、安装docker-compose二、创建一个springboot项目三、配置运行环境四、遇到的问题记录五、docker、docker-compose、docker swarm和k8s的区别 一、安装docker-compose 安装docker-compose前需要先安装docker,并启动docker。 #下载docker-compose脚本 curl -L https://get.daocloud.io/docker 阅读详情


安装docker请移步=》 安装docker

安装tomcat、mysql、nginx请移步=》安装步骤

docker-compose介绍

Compose 是用于定义和运行多容器 Docker 应用程序的工具。
通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。
然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

直白一点其实就是将多个容器连接起来,使用docker-compose运行yml配置文件,一键启动多个容器
使用场景:比如tomcat+mysql中项目需要配置mysql的ip地址进行连接,而在docker容器中每个容器的ip是不固定的,所以就需要我们手动去连接。
这里会用到docker中的 --link。
而单纯使用--link虽然也能连接两个服务,但是使用不方便,而且连接也是单向的。连接多个服务就比较麻烦。
所以推荐使用docker-compose来连接并启动服务

创建docker-compose.yml文件

保持容器结构整洁,使用前可先删除之前启动的容器 [docker rm 容器名称]
后面使用dokcer-compose执行的时候相当于创建并启动容器

在当前文件加创建docker-compose.yml文件,文件内容如下:
*注意:这里的缩进只能使用空格,使用tab会报错

version: '3.1'

services:
 mysql:
  restart: always
  image: hy:v1
  container_name: mysql
  ports:
  - 3306:3306
  environment:
   MYSQL_ROOT_PASSWORD: 123456
 tomcat:
  restart: always
  image: tomcat:jdk8-openjdk
  container_name: tomcat
  ports:
  - 8080:8080
  links:
   - mysql:mysql
 nginx:
  restart: always
  image: nginx:latest
  container_name: nginx
  ports:
  - 9090:80
  links:
  - tomcat:tomcat

上面是我自己用来连接tomcat、mysql和nginx使用的配置文件

参数解析

单独拿出tomcat的配置解析一下

 tomcat:						//这里是给你的服务起的别名
  restart: always				//开机启动
  image: tomcat:jdk8-openjdk	//镜像名称加tag,[docker image]查询
  container_name: tomcat		//设置启动后容器的名称,这里的名称不要与存在的容器重名
  ports:						//端口映射
  - 8080:8080
  links:
   - mysql:mysql				//冒号前面是需要连接的服务名,后面是tomcat访问的名称
   								//如在tomcat中ping mysql 就使用
   								// docker exec -it tomcat ping mysql
   								//如果是 mysql:m1 就使用 docker exec -it tomcat ping m1
   								//所以项目中连接mysql就可以使用这个地址
   								// url: jdbc:mysql://mysql:3306

执行yml文件

在yml文件目录下执行
docker-compose up -d
出现

Creating mysql ... done
Creating tomcat ... done
Creating nginx  ... done

就说明启动成功了
不过想启动项目,还得配置nginx,mysql要创建数据库和表,并初始化数据。

【容器】优质文章分享 文章目录Docker教程docker filevolumn网络配置docker使用docker mysqldocker mongoredisdocker-rabbitmqnginxtomcatnacos Docker 教程 引用华哥的一句话:Docker就是进程级别的虚拟机。确实 Docker 教程 对于Dockerfile中CMD指令的解释,相当于这个容器的主程序入口,就像主程序那样的,在容器启动之后会运行CMD指令。然后教程中提到了CMD指令有三种形式。 第一种是CMD <shell 命令> 阅读详情

相关推荐

从零开始学习信号完整性(SIPI)--1 简介

信号完整性就是研究如何让驱动芯片发出的信号经过传输通道被接收芯片正确接收的学问。 信号完整性包含了三个要素: 信号:是被传输的主体,我们首先要了解、熟悉信号的特性。 芯片:分为驱动芯片和接收芯片,信号完整性工程师就是要实现信号在驱动芯片和接收芯片之间的正确传输。 传输通道:是传输信号的介质,是信号所走的“路”。如何实现信号的正确传输呢?那就要信号完整性工程师为信号“修路”、“搭桥”。

qq_29476769的博客 4万+

RAP2 docker-compose.yml 使用外部Redis和MySQL

场景:使用 docker-compose.yml 安装RAP2的时候,往往需要链接现在已有的数据库,这时候需要将官方的配置文件稍作修改 注释1 将配置文件后面的redis和mysql全部注释 注释2 将services中的 depends_on 配置全部注释 修改处 将delos下的链接地址修改一下,如图 以下是完整的配置 # mail@dongguochao.com # llitfkitfk@gmail.com # chibing.fy@alibaba-inc.com version: "3"

cainiao1412的博客 1042

TJA1445/TJA1465 CAN收发器硬件设计与软件配置实战指南

控制器局域网(CAN)总线是汽车电子和工业控制领域实现电子控制单元(ECU)间可靠通信的核心技术。其工作原理是将数字信号转换为差分信号进行抗干扰传输,技术价值在于构建稳定、高效的分布式实时控制系统。随着汽车电子架构向域集中式演进,对CAN总线的通信速率、网络复杂度和静态功耗提出了更高要求,这催生了支持CAN FD协议和智能电源管理的新一代高速CAN收发器。在车载网关、域控制器及工业网络节点等应用场景中,NXP的TJA1445和TJA1465系列收发器凭借其部分组网(Partial Networking)和选

weixin_29655587的博客 409

Docker compose配置MySQL并实现远程连接

​ 远程连接效果如下: docker内的项目连接数据库时的配置 :每一个参数的名字是根据.env文件确定的。enviroment定义在容器中设置的环境变量。 ​ docker exec

php的绯闻女友 3891

Microsemi Libero系列教程(四)——PLL的使用

文章目录PLL是什么Libero中PLL的使用官方文档 系列教程:Microsemi Libero系列教程 PLL是什么 PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时钟信号,使高频器件正常工作,如内存的存取资料等。PLL用于振荡器中的反馈技术。 许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率...

whik1194的博客 7212

ADAMS软件二次开发:ADAMS软件API接口详解

API(Application Programming Interface,应用程序编程接口)是一种允许不同软件应用程序之间进行交互的接口。在ADAMS软件中,API提供了与软件内部功能直接交互的能力,使用户能够通过编写自定义代码来扩展软件的功能,实现自动化操作或集成到其他系统中。ADAMS软件的API主要基于C++和Python,允许用户通过这些编程语言来访问和控制ADAMS的模型、仿真和分析功能。API接口的使用,需要对编程语言有一定的了解,同时也需要熟悉ADAMS软件的基本操作和模型结构。

kkchenjj的博客 1864

docker compose 安装_使用docker-compose安装mysql数据库

1、创建工作目录mkdir mysql2、使用docker-compose.yml 管理cat mysql/docker-compose.ymlversion: '3'services: mysql: image: mysql:5.7.22 container_name: mysql volumes: - /data/mysql/db:/var/lib/mysql/ - /data/mysql/s...

weixin_39531229的博客 227

Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言 ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。 项目主页:http://www.ode.org/ 线上手册:http://ode.org/wiki/index.php?title=Manual 本教程为博主亲自亲测过程的总结,转载请注明出处! ...

腿足机器人领域 2216

docker部署服务之docker部署mysql服务

mysql官方docker部署方法介绍

lws_163的博客 2732

【制作100个Unity游戏之35】从零开始构建类《月圆之夜》《杀戮尖塔》的卡牌游戏(附带项目源码)

本文介绍了如何从零开始构建类似《月圆之夜》《杀戮尖塔》的卡牌游戏。主要内容包括:1)获取游戏素材资源;2)导入xyframe框架工具集;3)实现手牌弯曲排列效果,通过样条曲线控制卡牌位置和旋转;4)设计可扩展的MVD卡牌系统架构,分离数据层(ScriptableObject存储)、模型层(业务逻辑)和视图层(显示控制)。文中提供了完整的代码实现,并展示了卡牌动态排列的GIF效果演示。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1429

C# 上位机程序中的数据采集与存储技术:从采集到持久化的完整解决方案

本文系统讲解C#上位机程序如何实现设备数据采集与持久化。主要内容包括:1)多种数据采集方式(串口通信、Modbus、OPC等)及代码示例;2)详细对比不同存储技术(CSV、SQLite、关系型数据库等)的优缺点;3)提供SQLite等存储实现代码;4)推荐分层系统架构(采集-缓存-存储-可视化);5)性能优化建议(多线程采集、异步存储、批量写入等)。文章强调应根据项目需求选择合适的技术方案,构建高效稳定的数据采集存储闭环系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1025

Docker Compose编排MySQL+Tomcat+Nginx高可用集群实践

容器化技术通过Docker实现应用环境标准化,解决开发与生产环境差异问题。Docker Compose作为多容器编排工具,能够定义和运行复杂应用栈,其核心原理是通过YAML文件描述服务依赖关系与资源配置。在Web应用部署场景中,结合Nginx反向代理与负载均衡、Tomcat应用服务器集群以及MySQL数据库容器化,可构建高可用、易扩展的现代化架构。该方案显著提升部署效率,某电商项目部署时间从2小时缩短至15分钟,并实现零宕机更新。关键技术点包括容器资源隔离、服务发现机制以及数据库持久化方案,适用于中小规模互

weixin_42683394的博客 218

基于Qt C++开发一款国产化的福昕风格PDF编辑工具

QString text = QInputDialog::getText(this, "文本批注", "输入批注内容:", QLineEdit::Normal, "", &ok);QString savePath = QFileDialog::getSaveFileName(this, "保存加密PDF", "", "PDF文件 (*.pdf)");QAction* zoomInAct = new QAction(QIcon::fromTheme("zoom-in"), "放大", this);

寒寒豆豆软件公司的博客 237

基于docker-compose实现nginx+tomcat+mysql实现负载均衡

基于docker-compose实现nginx+tomcat+mysql实现负载均衡 部署nginx version: '3' services: nginx: image: nginx:laster container_name: nginx restart: always extra_hosts: #域名解析 - "tomcat01:ip" ports: - 80:80 - 443:443 volumes:

yj970605的博客 295

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

docker-compose 链接外部容器的实操说明

参考:Docker Compose:链接外部容器的几种方式 参考内容中有些许实现不到位的地方,按照测试例子,跑不起来,故参考后进行了一些修改,重新写了下文章记录一下, 有些自己理解的可能不是很到位,大家凑合着看下,有问题欢迎指出,在此先谢过了,(⊙v⊙)。 本文的docker 版本为1.13.1,具体操作如下 创建同一网络 docker network create app_net ...

luckyjiet的博客 7613

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Docker Compose配置springboot微服务项目

【Docker那些事】系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构、docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战案例 Docker 制作自定义化的Tomcat镜像 docker 安装 mysql 并映射数据库存放路径及配置文件 docker安装tomcat 映射配置文件、日志文件 docker安装nginx,配置nginx,并成功访问 docker安装redis并将配置文件和数

鳄鱼儿 583

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

docker部署jpress详细版本

一。拉取nginx镜像至本地 二。创建dockerfile文本文件 1.创建一个空目录 2.创建一个文本文件 其dockerfile 内容为: 三。放置war包和Dockerfile文件在同一目录下

mingzirenyichang的博客 3181

Docker一键搭建Java Web开发环境:JDK+MySQL+Nginx+Redis+Tomcat

Java Web开发环境是软件工程中基础且高频的技术概念,其核心在于JDK运行时、MySQL数据存储、Nginx反向代理、Redis缓存中间件与Tomcat应用容器的协同工作。理解各组件的通信原理(如服务发现、端口映射、健康检查)是实现稳定部署的前提;技术价值体现在环境一致性、可复现性与CI/CD就绪能力上;典型应用场景覆盖本地开发调试、团队环境分发及轻量预发布验证。本文基于Docker容器与docker-compose编排,聚焦JDK版本选型与MySQL 5.7兼容性等关键实践细节,提供开箱即用、安全可控

weixin_30984001的博客 190

docker - 部署java/python项目

docker - 部署 python 项目 1. 在 gitee 下载源码zip包,并解压到D盘的 docker-python 目录下,pycharm中修改settings.py

m0_70618214的博客 991

Docker进阶与容器编排实践-第三章

本文摘要: Docker容器进阶操作指南介绍了Docker Compose的日志查看、容器重启、配置更新等进阶操作,并验证了多容器通信、数据持久化等特性。通过实战演示了MySQL与Nginx的数据卷持久化效果,以及容器资源限制和启动顺序优化方法。在综合实操部分,指导用户构建自定义Nginx镜像并实现容器间数据同步,最后通过编排nginx+mysql+tomcat三容器系统,展示了服务编排、健康检查、反向代理配置等高级功能。所有操作均附有详细命令和验证步骤,涵盖容器生命周期管理的核心技能。

hrt的博客 230

Docker Compose实战:老旧Java Web应用容器化改造与部署

容器化技术通过将应用、运行时与依赖打包为镜像,从根本上解决了传统部署中环境不一致、配置繁琐与回滚困难等痛点。Docker Compose作为单机多容器的编排工具,以声明式配置实现基础设施即代码,让团队无需深入底层命令即可一键拉起应用与数据库。在实际工程中,将Spring MVC + Tomcat + MySQL这类遗留系统改造为容器化部署,既能保留原有架构,又能借助数据卷持久化、环境变量注入和健康检查等机制提升运维效率。无论是测试环境快速交付,还是生产环境平滑迁移,Docker Compose都提供了轻量且

weixin_32306957的博客 205

产品经理【大学知识库内容】

一、授课:张思鹏sunnyact 二、主要文章内容: Docker知识库 1.docker教程:https://www.runoob.com/docker/docker-tutorial.html 2.Docker架构:https://www.runoob.com/docker/docker-architecture.html 3.云服务器 https://www.runoob.com/linux...

qaz4040940的博客 291

使用Docker-Compose安装redis,rabbitmq,nacos,mysql,nginx,tomcat,portainer组件教程

上面就是使用docker去安装一些常用组件的教程.1.上面教程里基本上都是没有指定版本,默认使用的最新版本(如果需要安装指定版本。需要在image后面加上对应的版本)2.安装完容器后别忘记去打开对应的端口,否则外界可能无法访问容器。如果觉得每次去加权限很麻烦的话,可以尝试关闭防火墙。但是这种操作比较危险,不建议去做。如果实意需要关闭防火墙的话,记得每个容器都设置一个比较复杂的密码来确保音私信。

a_lllk的博客 2100

docker使用docker-compose实现mysql+tomcat+nginx容器启动

本文是一个具体项目的实现 1.使用docker-compose连编启动各个容器,并实现各个容器的互联。 2.使用独立域名访问项目。 3.项目连接数据库。 1在做项目之前:要将host文件进行修改。 将我们的ip地址与域名进行绑定。 具体效果如图: 2.将自己的项目放置到centos中/tomcat/webapps/index文件夹下。 3.编写nginx.conf放置到/nginx/conf/文...

韩韩的博客 2139

【Docker学习】10、Docker-Compose 环境搭建一键部署Nginx、Tomcat、MySQL

文章目录1、Docker-Compose 环境搭建(1)安装Docker-Compose(2)添加可执行权限(3)测试安装结果2、一键部署Nginx、Tomcat、MySQL(1)Docker-Compose介绍(2)一键部署 1、Docker-Compose 环境搭建 (1)安装Docker-Compose 最新版可以在github上查看,Docker-Compose curl -L https://github.com/docker/compose/releases/download/1.27.4/do

Tellsea 898

用 Docker Compose 一键部署高可用集群(MySQL + Tomcat + Nginx)

本文介绍了如何将手工搭建的Keepalived+Nginx+Tomcat+MySQL高可用架构通过DockerCompose实现标准化部署。该架构分布在五台虚拟机上,使用VIP对外提供服务,Nginx反向代理轮询请求到Tomcat节点。通过编写各主机的docker-compose.yml文件,实现了MySQL、Tomcat和Nginx的容器化一键启动,解决了环境迁移时参数遗漏问题。文章详细说明了各组件配置要点、验证测试方法及常见问题处理,最终使整个架构具备可移植性和可复现性

2401_86194191的博客 591
上一篇: Ubuntu上使用docker安装mysql、tomcat和nginx
下一篇: docker-compose 中 volumes、environment、privileged、network_mode的使用
疯狂的代码@
博客等级 码龄7年 693粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值