SpringBoot快速部署(1)—docker不使用nginx

方法一:使用 link

docker run -d --restart=always -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=qr_code_test -v /mnt/docker/files/qr_board_system/qr_code_test.sql:/docker-entrypoint-initdb.d/database.sql mysql:5.6

docker run -dit --restart=always -p 20242:20242 -v /mnt/docker/qr_board_system:/app --name qr_board --link mysql-test:mysql classmethod/openjdk-alpine-git java -Duser.timezone=GMT+08 -Dfile.encoding=utf-8 -Dspring.config.location=/app/application.yml -jar /app/ss-board-system-0.0.1-SNAPSHOT.jar

方法二:使用 network

要使用Docker网络连接容器,你需要执行以下步骤:

  1. 创建一个自定义的Docker网络。
  2. 将MySQL容器连接到这个网络。
  3. 将qr_board容器连接到这个网络。

首先,创建一个自定义的Docker网络:

docker network create qr_network

然后,启动MySQL容器并将其连接到这个网络:

docker run -d --restart=always -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=qr_code_test -v /mnt/docker/qr_board_system/qr_code_test.sql:/docker-entrypoint-initdb.d/database.sql --network qr_network mysql

最后,启动qr_board容器并将其连接到同一个网络:

docker run -dit --restart=always -p 20242:20242 -v /mnt/docker/qr_board_system:/app --name qr_board --network qr_network classmethod/openjdk-alpine-git java -Duser.timezone=GMT+08 -Dfile.encoding=utf-8 -Dspring.config.location=/app/application.yml -jar /app/ss-board-system-0.0.1-SNAPSHOT.jar

通过这种方式,你就可以确保两个容器能够通过网络相互通信了。

同时,确保MySQL容器已成功启动并且MySQL服务正在运行。你可以使用以下命令检查MySQL容器的运行状态:

docker ps -a | grep mysql

如果MySQL容器处于运行状态,那么MySQL服务应该也在正常运行。

网络连接是否正确:确保两个容器都连接到了同一个Docker网络。你可以使用以下命令检查容器连接到的网络:

docker inspect mysql | grep NetworkMode

docker inspect qr_board | grep NetworkMode

如果两个容器的NetworkMode字段显示的是同一个网络,那么它们应该可以相互通信。

端口映射是否正确:确认MySQL容器的端口是否正确映射到主机的端口。你可以使用以下命令检查端口映射:

docker port mysql

docker run -d --restart=always -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=qr_code_test -v /mnt/docker/qr_board_system/qr_code_test.sql:/docker-entrypoint-initdb.d/database.sql --network qr_network mysql

  • -d: 表示容器在后台运行(detached mode)。
  • --restart=always: 表示容器将始终自动重启,即使 Docker 守护进程被重启也是如此。
  • -p 3306:3306: 将 MySQL 容器的3306端口映射到主机的3306端口上,允许通过主机的3306端口访问 MySQL 服务。
  • --name mysql: 为容器指定一个名称,即"mysql"。
  • -e MYSQL_ROOT_PASSWORD=123456: 设置 MySQL root 用户的密码为"123456"。
  • -e MYSQL_DATABASE=qr_code_test: 创建一个名为"qr_code_test"的数据库。
  • -v /mnt/docker/qr_board_system/qr_code_test.sql:/docker-entrypoint-initdb.d/database.sql: 将宿主机上的/mnt/docker/qr_board_system/qr_code_test.sql文件挂载到容器内的/docker-entrypoint-initdb.d/database.sql路径,这样 MySQL 服务启动时会自动执行该 SQL 文件来初始化数据库。
  • --network qr_network: 将容器连接到名为"qr_network"的 Docker 网络,这样容器内的服务可以通过该网络进行通信。
  • mysql: 指定要使用的 Docker 镜像,这里使用官方提供的 MySQL 镜像。

docker run -dit --restart=always -p 20242:20242 -v /mnt/docker/qr_board_system:/app --name qr_board --network qr_network classmethod/openjdk-alpine-git java -Duser.timezone=GMT+08 -Dfile.encoding=utf-8 -Dspring.config.location=/app/application.yml -jar /app/ss-board-system-0.0.1-SNAPSHOT.jar

  • -dit: 表示容器在后台运行,并且使用交互式终端(保持 STDIN 打开),这样你可以随时通过 docker exec 进入容器内部进行交互操作。
  • --restart=always: 表示容器将始终自动重启。
  • -p 20242:20242: 将容器的20242端口映射到主机的20242端口上,允许通过主机的20242端口访问容器内的服务。
  • -v /mnt/docker/qr_board_system:/app: 将宿主机上的/mnt/docker/qr_board_system目录挂载到容器内的/app路径,这样应用程序可以读取宿主机上的文件。
  • --name qr_board: 为容器指定一个名称,即"qr_board"。
  • --network qr_network: 将容器连接到名为"qr_network"的 Docker 网络。
  • classmethod/openjdk-alpine-git: 指定要使用的 Docker 镜像,这里使用了一个基于 Alpine Linux 的 OpenJDK 镜像。
  • java -Duser.timezone=GMT+08 -Dfile.encoding=utf-8 -Dspring.config.location=/app/application.yml -jar /app/ss-board-system-0.0.1-SNAPSHOT.jar: 在容器内运行的命令,启动了一个 Java 应用程序,指定了一些 JVM 参数和应用程序的配置文件位置,并执行了一个 JAR 包文件。

docker exec -it mysql service mysql status

docker exec -it mysql mysqladmin -uroot -p123456 ping

如果端口映射正确,你应该能够看到MySQL容器的3306端口被正确映射到主机的某个端口上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/846968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis快速入门教程

文章目录 一、介绍什么是持久层为什么要学MyBatis? 二、如何获得MyBatis?三、第一个Mybatis程序数据库导入maven依赖bean 实体类dao持久层resources编写对应的映射文件 mybatis主配置文件测试类运行遇到报错Could not find resource com/qibu/dao/IUserD…

超越Devin!姚班带队,他们创大模型编程新世界纪录

超越Devin!SWEBench排行榜上迎来了新玩家—— StarShip CodeGen Agent,姚班带队初创公司OpenCSG出品,以23.67%的成绩获得全球第二名的成绩。 同时创造了非GPT-4o基模的最高纪录(SOTA)。 我们都知道,SWEBe…

TinyMCE 富文本编辑器:打造个性化编辑体验

本文由ScriptEcho平台提供技术支持 项目地址:传送门 TinyMCE 富文本编辑器:打造个性化编辑体验 应用场景介绍 TinyMCE 是一款功能强大的富文本编辑器,广泛应用于网站内容管理、博客创作、在线文档编辑等场景。它提供了一系列丰富的编辑功…

微服务学习Day8-Sentinel

文章目录 Sentinel雪崩问题服务保护框架Sentinel配置 限流规则快速入门流控模式流控效果热点参数限流 隔离和降级FeignClient整合Sentinel线程隔离(舱壁模式)熔断降级 授权规则及规则持久化授权规则自定义异常结果持久化 Sentinel 雪崩问题 服务保护框架…

产品评测:Coolmuster Android Eraser - 安全彻底删除Android数据的利器

产品概述 在数字化时代,智能手机成为了个人敏感信息的集中地。当涉及到数据隐私和安全时,简单的删除操作并不能满足我们对数据彻底清除的需求。Coolmuster Android Eraser正是为了解决这一问题而生,它是一款专为Android设备设计的第三方软件&…

活动预告|6月13日Apache Flink Meetup·香港站

6 月 13 日 | 香港 | 线下 Apache Flink Meetup 的风吹到了香江之畔,Apache Flink 香港 Meetup 来啦!本次活动,我们邀请了来自阿里云的顶尖专家,帮助开发者全面了解 Apache Flink 的流批一体的数据处理能力,流式数据湖…

AGP8+ android.useNewApkCreator‘ is deprecated 打包失败

问题 新建一个项目,默认使用最新版的 AGP 和 Gradle,打包构建立马失败! 错误日志 Caused by: com.android.builder.errors.EvalIssueException: The option android.useNewApkCreator is deprecated. An exception occurred applying plu…

【xilinx】vivado中的xpm_cdc_gray.tcl的用途

背景 【Xilinx】vivado methodology检查中出现的critical Warning-CSDN博客 接上篇文章,在vivado进行 methodology检查时出现了严重警告,顺着指示查到如下一些问题 TIMING #1 Warning An asynchronous set_clock_groups or a set_false path (see con…

微信小程序蓝牙连接部分Android14调用wx.setBLEMTU协商低功耗最大传输单元失败解决方案(部分安卓14设置超过23就会报错)

1.解决方案的核心内容:第一次设置失败不要管,在complate函数里面继续往下连接,然后设置一个定时器每1秒钟在重新设置一次,肯定会成功的!!!!!!!&am…

零基础写框架:从零设计一个模块化和自动服务注册框架

模块化和自动服务注册 基于 ASP.NET Core 开发的 Web 框架中,最著名的是 ABP,ABP 主要特点之一开发不同项目(程序集)时,在每个项目中创建一个模块类,程序加载每个程序集中,扫描出所有的模块类,然后通过模块…

【Elasticsearch】IK分词器的下载及使用

安装IK分词器 网址:https://github.com/infinilabs/analysis-ik 3.1.在线安装ik插件(较慢,不推荐) # 进入容器内部 es为容器名称 docker exec -it es /bin/bash# 在线下载并安装 7.17.21为镜像版本要与之前保持一致 ./bin/elasticsearch-pl…

Anacode+YOLO识别图片

一、安装Anacoda 因为我原本是已经安装了python,后面直接卸载了,然后安装了最新版的anacoda 下载网址为: Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载版本是: 按照安装教程直接…

android framework input 及多指协议 (一)

触摸事件查询 getevent -lrt 以上数据格式:时间,具体节点文件名,事件类型,事件值 input问题排查,如果数据能打印出来,则是framework 问题,如果没有数据打印出来,则要看驱动问题。 …

80V高耐压低静态线性稳压器/LDO,Vout 1v-65v 3.3V及5V方案最佳选择

概述 PC93XX系列专为动力而设计-敏感应用程序。它包括一个精度第二个高压输入级,超低功率 偏置电流分支,并产生超低功率和低压差线性调节器。PC93XX通过输入电压工作VOUT1V至65V,仅消耗1.8μA的静态电流,并提供1%的初始精度和低…

kernelbase.dll故障怎么处理的几种常见方法,有效的解决kernelbase.dll故障

kernelbase.dll是 Windows 操作系统的一个系统文件,它是 Windows NT 基本 API 客户端库的一部分。如果你遇到了kernelbase.dll出现故障的情况,这可能会导致软件崩溃或无法正常运行。下面是一些处理kernelbase.dll故障的常见方法。 重新启动计算机&#x…

34. 【Java教程】反射

本小节我们来学习一个 Java 语言中较为深入的概念 —— 反射(reflection),很多小伙伴即便参与了工作,可能也极少用到 Java 反射机制,但是如果你想要开发一个 web 框架,反射是不可或缺的知识点。本小节我们将…

机器视觉检测--光源

一,环形光源 较为常见的LED光源之一,提供基本的照明作用。 随着光源距离产品的工作距离LWD变化而产生的亮度分布,如下图暖色表示亮;冷色表示暗。 同时该图示是针对特定一款大小的环形光源的数据(下同)。 二…

酒店旅游API服务汇总

各大旅游平台常用API服务汇总: 实时房源服务【Airbnb】飞猪旅行开放服务途牛旅行开放平台API华为云数字差旅【差旅管理】动态信息接口【美团酒店】旅行商城商家管理API【马蜂窝】交易流程接口【美团酒店】电子导游【携程旅行】

【MachineLearning】| 机器学习:推动未来技术革新与应用的新引擎

一、引言 随着计算能力的飞速提升和大数据的广泛应用,机器学习已成为推动现代科技发展的关键力量。从自动化驾驶到精准医疗,再到金融风险评估,机器学习正逐步改变着我们的工作和生活方式。本文将围绕机器学习的技术革新及其在不同领域的应用…

TDMQ CKafka 版弹性存储能力重磅上线!

导语 自 2024年5月起,TDMQ CKafka 专业版支持弹性存储能力,这种产品形态下,存储可按需使用、按量付费,一方面降低消费即删除、存储使用波动大场景下的存储成本,另一方面存储空间理论上无穷大。 TDMQ CKafka 版产品能…