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

news/2024/5/17 15:59:03

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
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: nonedatasource:url: jdbc:mysql://localhost:3306/produce_demo_test?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8username: rootpassword: xxxxdriver-class-name: com.mysql.cj.jdbc.Driverredis:host: localhostdatabase: 0port: 6379password: 123456ssl: falselettuce:pool:max-active: 1000max-wait: -1max-idle: 10min-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.mrgr.cn/p/18181807

相关文章

拖拽式工作流有哪几个优势?

拖拽式工作流优势特点突出,可以助力企业实现快速、高效、低成本的流程化办公。在信息技术迅猛发展的今天,如何助力中小型企业在数字化转型的过程中平稳过渡?又是如何让中小型企业摆脱数据孤岛、成本投入高等各种瓶颈和难题?低代码技术平台是近些年较为理想的平台产品,其中…

基于springboot的图书个性化推荐系统

介绍 图书个性化推荐系统的主要使用者分为管理员和学生,实现功能包括管理员:首页、个人中心、学生管理、图书分类管理、图书信息管理、图书预约管理、退换图书管理、管理员管理、留言板管理、系统管理,学生:首页、个人中心、图书预约管理、退换图书管理、我的收藏管理,前台…

java:多线程

多线程 在java程序中同时执行多个线程,每个线程独立执行不同的任务. 可以提高程序的性能和资源利用率,增加程序的并发性. 多线程的作用 1,提高程序性能 可以将一个任务分解成多个子任务并行处理,从而提高程序的运行速度 2,提高资源利用率 可以更好地利用CPU资源,提高CPU…

ThinkPHP 5.0.23 远程代码执行漏洞

漏洞检测工具 ThinkPHP 5.0 RCE检测工具 https://github.com/Lotus6/ThinkphpGUI/releases 解决办法 https://blog.csdn.net/sjsjshhs134654/article/details/131305418如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~

【计算机毕业设计】点餐平台网站——后附源码

🎉**欢迎来到琛哥的技术世界!**🎉 📘 博主小档案: 琛哥,一名来自世界500强的资深程序猿,毕业于国内知名985高校。 🔧 技术专长: 琛哥在深度学习任务中展现出卓越的能力&a…

Visual Components软件为您带来的价值 衡祖仿真

Visual Components具备丰富的3D仿真功能、快速建模能力、定制化应用程序逻辑和大量预定义组件库等多种特点,为自动化设备制造商、整合商、制造型公司提供简单、 快速和的设计方式,可以有效提高生产效率,并优化资源分配,避免制造过程中各种不可控事件带来的影响。Visual Com…

按吉他弦手不再疼痛的真正奧義!!~(姿勢

學吉他最痛苦的事情莫過”手痛”,網路上分析關於手痛的解決方式有好幾篇,不外乎就是…降弦、靠琴桁按弦、換弦的材質、換細弦、調弦距…等,我就不再多廢話講跟別人差不多的東西。但我發現有一件事情是很少老師提及的,那就是關於按弦的”姿勢”,其實姿勢/角度跟按弦的聲音好…

代码随想录图论

1. 所有可能的路径 class Solution:def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:def dfs(graph, result, path, root): #result 返回结果, path记录路径, root记录遍历到了第几个节点if root len(graph) - 1: #如果遍历到最后…

上海法院诉讼自如电费欺诈维权一审胜诉 All In One

上海法院诉讼自如电费欺诈维权一审胜诉 All In One 依法维权上海法院诉讼自如电费欺诈维权一审胜诉 All In One依法维权作为一个法律新手,从阅读学习有关法律法规,收集证据,法律咨询, 立案申请,法院受理,整理提交证据, 法院开庭,法庭辩论, 历时几个月的努力和耐心等待,最…

5 步轻松上手,教你从 0 到 1 落地 Jmeter 接口自动化脚本!

Jmeter是进行接口测试的一款非常主流的工具,但绝大部分测试工程师,对于Jmeter接口测试脚本整理都是一知半解的。今天这篇文章,就以一个金融项目中接口为例,通过简单5步,教大家如何0代码编写Jmeter接口自动化脚本! 0、金融项目接口 1、登录接口信息2、新增投资项目接口信息…

sectigo怎么样,有哪些优势

SSL证书是Sectigo的核心服务之一。SSL,全称为安全套接层(Secure Sockets Layer),它为网络通信提供加密服务,保障数据在传输过程中的安全性。在数字化交易和信息交换日益增长的当今时代,SSL证书几乎成为了所…

总结SQL相对常用的几个字符函数

目录 字符的截取 substr() trim()、ltrim()、rtrim() 字符串的拼接 ||、 字符的大小写转换 upper(column_name):大写 lower(column_name):小写 字符替换 replace() 搜索字符 instr(column_name, substring_to_find,start,n_appearence) charindex(substring_to_fi…

从IP网络到命名数据网络(NDN)简介

从IP网络到命名数据网络(NDN)简介由于科研需求,学习了解一下NDN相关技术。 由于本人的排版太菜了,本文还是由GPT-4排版+润色。 本文章用双拼完成,还在学习中。传统IP网络面临的挑战 IP网络的诞生 IP网络的概念最初是在20世纪70年代由美国国防部高级研究计划局(DARPA)提出…

【使用PADS软件将PCB由N(N2)层板改为2层板】

最近接触PADS软件比较多,相比Altium Designer来说,PADS软件操作更为繁琐,使用中遇到的一些问题,常常百度很久之后也找不到确切结果。。。 此文章记录将PCB由N(N>2)层板改为2层板的操作过程,实践无误,特此总结,希望对遇到相同困惑的朋友有所帮助~ ps:笔者使用的软件…

揭秘网红主播美颜工具:探秘美颜SDK的技术奥秘

在如今的网络直播平台上,越来越多的主播通过美颜工具来提升自己的形象,吸引更多的粉丝和观众。美颜技术的不断发展使得主播们能够在镜头前展现出更加完美的容颜,让观众眼前一亮。 一、美颜SDK的概念 美颜SDK,即美颜软件开发工具…

元宇宙VR虚拟线上展馆满足企业快速布展的需要

想要拥有一个VR线上虚拟展馆,展现您的城市风采或企业特色吗? 相比实体展馆搭建,VR线上虚拟展馆投入资金少,回报周期短,只需几个月的时间,您就能开始资金回笼。那么一个VR线上虚拟展馆多少钱呢? 深圳VR公司华锐视点基…

51单片机入门_江协科技_29~30_OB记录的自学笔记_DS18B20温度传感器

29. DS18B20温度传感器 29.1. DS18B20介绍 •DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点 •测温范围:-55C 到 …

ImageJ软件使用教程(三):目标计数

目录多点工具法阀值分割法二值化填充分割自动计数显示结果总结参考资料 本文以钢筋计数为例,讲解一下如何使用ImageJ软件进行计数,这里只介绍两种方法:多点工具法 阀值分割法钢筋计数是我接触的第一个视觉项目,虽然项目最后不了了之,但作为我机器视觉的开荒项目还是很有纪…

软考135-上午题-【软件工程】-软件配置管理

备注: 该部分考题内容在教材中找不到。直接背题目 一、配置数据库 配置数据库可以分为以下三类: (1) 开发库 专供开发人员使用,其中的信息可能做频繁修改,对其控制相当宽松 (2) 受控库 在生存期某一阶段工作结束时发布的阶段产…

NewTomNNT意大利杰诺牙科口腔CT图像分析处理软件

NNT软件的先进功能可以覆盖多个医学专业,特殊的重建窗口响应每个部门的不同需求。所有检查都完全兼容 DICOM 格式:它们可以通过 NNT 查看器共享或以 1:1 的比例打印。与 NewTom 采用的现代系统的出色连接性和集成性。工作流程、临床和诊断活动变得更加容易和高效。简单的 3D …