【Docker系列】容器访问宿主机的Mysql

news2024/12/23 12:01:40

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.问题
    • 二.实现
      • 1.启动脚本
      • 2.参数说明

一.问题

在宿主机上安装了 mysql,但是没有开通公网 ip 的访问权限,如何在同一台服务器上在部署服务的时候,使用宿主机的 mysql 呢?
在这里插入图片描述

配置文件:

server:
  port: 8080
spring:
  application:
    name: DemoApp
  #  jpa:
  #    database: MYSQL
  #    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
  #    show-sql: true
  #    hibernate:
  #      ddl-auto: none
  datasource:
    url: jdbc:mysql://localhost:3306/produce_demo_test?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
    username: root
    password: xxxx
    driver-class-name: com.mysql.cj.jdbc.Driver
  redis:
    host: localhost
    database: 0
    port: 6379
    password: 123456
    ssl: false
    lettuce:
      pool:
        max-active: 1000
        max-wait: -1
        max-idle: 10
        min-idle: 5

二.实现

1.启动脚本

#!/bin/bash
CONTAINER_NAME=produce-demo-test
IMAGE_NAME=produce-demo:latest
docker rm -f ${CONTAINER_NAME}
docker run -d  --network=host --name "${CONTAINER_NAME}" \
--privileged=true  --env PROFILE=test  -w /home -p 8080:8080 -v "$PWD/logs:/home/logs" --restart=always "${IMAGE_NAME}"

docker logs -f --tail 500 "${CONTAINER_NAME}"

2.参数说明

--network=host 是在 Docker 命令中指定的一个选项,它具有以下作用:

当您在 Docker 中运行容器时,默认情况下,每个容器都会有自己的网络命名空间,这意味着容器内部和宿主机之间的网络是隔离的。容器中的应用程序可以通过 Docker 网络进行通信,但它们无法直接访问宿主机的网络。

使用 --network=host 选项可以使容器与宿主机共享网络命名空间。这样,容器内的应用程序可以像它们直接运行在宿主机上一样访问宿主机的网络接口。
在这里插入图片描述

具体而言,--network=host 的作用如下:

  1. 容器可以使用宿主机的 IP 地址。
  2. 容器中的应用程序可以使用宿主机上打开的端口。
  3. 容器可以直接访问宿主机上的网络设备,如网络接口卡。

这种模式对于需要与宿主机紧密集成的应用程序非常有用,例如需要绑定宿主机上特定端口的应用程序或需要访问宿主机上的网络设备的应用程序。

需要注意的是,使用 --network=host 选项会使容器丧失网络隔离的优势,因此需要谨慎使用,并确保对容器内部的网络安全进行适当的配置和保护。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

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

相关文章

flutter material中的Icon组件的IconData 查阅

查阅 https://fonts.google.com/icons?selectedMaterialSymbolsOutlined:expand_less:FILL0;wght300;GRAD0;opsz24&icon.platformandroidhttps://fonts.google.com/icons?selectedMaterialSymbolsOutlined:expand_less:FILL0;wght300;GRAD0;opsz24&icon.platformand…

mysql报错-mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止和数据恢复

启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。 我的mysql版本是8.0.18 系统:win10 如何安装mysql,可以看我这一篇文章:mysql的安装 ---必会 - bigbigbrid - 博客园 (cn…

2024 EasyRecovery三分钟帮你恢复 电脑硬盘格式化

随着数字化时代的到来,我们的生活和工作中越来越依赖于电子设备。然而,电子设备中的数据丢失问题也随之而来。数据丢失可能是由各种原因引起的,如硬盘故障、病毒感染、误删除等。面对这种情况,一个高效、可靠的数据恢复工具变得尤…

【御控物联】Java JSON结构转换(1):对象To对象——键值互换

文章目录 一、JSON是什么?二、JSON结构转换是什么?三、核心构件之转换映射四、案例之《JSON对象 To JSON对象》五、代码实现六、在线转换工具七、技术资料 一、JSON是什么? Json(JavaScript Object Notation)产生于20…

SkyWalking 为所有的API接口增加 tag

背景胡扯 线上接口报错,接着被 SkyWalking 抓到,然后 SkyWalking 触发告警,最后老板你,让你辛苦一下,在明早上班前把这个bug 改了,并告诉你你是全公司的希望。谁说不是呢?为公司业务保驾护航&a…

Opencv3.4+FFMpeg3.4+pkg-config交叉编译arm开发板

Ubuntu16.04 64位 FFmpeg3.4 OpenCv3.4 一、下载FFmpeg https://github.com/FFmpeg/FFmpeg 1.配置 ./configure --prefix/home/zeng/ffmpeg_install --enable-cross-compile --cross-prefixarm-linux-gnueabihf- --ccarm-linux-gnueabihf-gcc --target-oslinux --cpuco…

nginx的启动,systemd管理

service unit file文件通常由三部分组成: [Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等 [Service]:与特定类型相关的专用选项;此处为Service类型 [Install]:定义…

CTFshow-PWN-前置基础(pwn6-pwn9)

1、pwn6 立即寻址方式结束后eax寄存器的值为? 截取关键代码 ; 立即寻址方式mov eax, 11 ; 将11赋值给eaxadd eax, 114504 ; eax加上114504sub eax, 1 ; eax减去1 mov 用于赋值,将右边立即数加载到左边的寄存器 eax 中&#xff1b…

电商的未来:回归传统的力量

引言 随着拼多多的崛起,淘宝的市场地位受到了挑战。马云在阿里巴巴内网发表的《致改革 致创新》一文中,呼吁直面问题与未来,但具体的改革与创新方向尚未明晰。本文将探讨电商的未来,提出一个观点:电商的真正未来不在于…

网络安全-自学笔记

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…

leaflet知识点:地图窗格panes的应用

一,需求背景 地图中存在无人机,停机坪,航线三个图层,需要实现无人机图层显示在最上面,停机坪图层显示在最下面,航线图层显示在中间。 二,遇到问题 由下图可知航线图层所在overlayPane窗格的z-…

基于SSM项目高校在线请假与审批系统

采用技术 基于SpringBoot框架实现的web的智慧社区系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 简介 本系统实现了管理员,教师,学生三个模…

OpenHarmony开发实例:【分布式游戏鉴权应用】

1.介绍 本文将介绍分布式游戏鉴权应用。操作过程为: 设备A点击“开始游戏”按钮,开始搜索周边设备。 设备A显示周边设备,点击设备B并发起连接请求,远程拉起设备B的FA。 设备B收到请求后,选择是否允许“开启游戏”。…

【大语言模型】基础:TF-IDF

TF-IDF (Term Frequency-Inverse Document Frequency) 是一种用于信息检索与文本挖掘的统计方法,用来评估一个词对于一个文件集或一个语料库中的其中一份文件的重要性。它是一种常用于文本处理和自然语言处理的权重计算技术。 原理 TF-IDF 由两部分组成&#xff1…

获取淘宝京东商品详情API接口返回数据解析说明(可测试,批量获取)

获取淘宝和京东的商品详情API接口返回数据并解析通常需要遵循以下几个步骤: 淘宝商品详情API 淘宝的API接口通常对商家和合作伙伴开放,并且需要经过严格的申请和审核流程。普通用户或未经授权的开发者通常无法直接访问淘宝的商品详情API。 如果你已经…

广东莱斯广告,6.8米UV喷印推动粤东喷绘产业升级

广东莱斯广告作为汕头市大型的广告服务运营商,近日迎来了一件值得庆祝的事情:彩神6.8米UV喷印机运行一周年,销售服务商深圳嘉豪总经理李伟特地前来回访。该设备是深圳润天智数字设备股份有限公司开发的全球首台搭载XTRA6800H柯尼卡喷头的设备,设备特点是:1.色彩艳丽;2.超宽喷印…

【YOLOV5 入门】——Pyside6/PyQt5可视化UI界面后端逻辑

声明:笔记是做项目时根据B站博主视频学习时自己编写,请勿随意转载! 一、环境安装 VScode/Pycharm终端进入虚拟环境后,输入下面代码安装pyside6,若用的Pycharm作为集成开发环境,也下载个pyqt5: …

mysql 查询实战3-解答

对mysql 查询实战3-题目,进行一个解答 11、查询每⽉产品交易与退款情况 目标:查询每⽉产品交易(交易总额,交易数)与退款情况(退款总额,退款数) 1,先把日期格式化 使用 E…

npm配置阿里镜像库

1、配置阿里云镜像源 #查看当前使用的镜像地址命令 npm config get registry#设置阿里镜像源 npm config set registry http://registry.npmmirror.com 这里要注意下,之前的镜像源地址 https://registry.npm.taobao.org/ 已经不能用了,这里要更改为新…

科大讯飞星火开源大模型iFlytekSpark-13B GPU版部署方法

星火大模型的主页:iFlytekSpark-13B: 讯飞星火开源-13B(iFlytekSpark-13B)拥有130亿参数,新一代认知大模型,一经发布,众多科研院所和高校便期待科大讯飞能够开源。 为了让大家使用的更加方便,科…