跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 跨境风云 > 【Docker系列】容器访问宿主机的Mysql

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

时间:2024-04-18 13:20:17 来源:网络cs 作者:往北 栏目:跨境风云 阅读:

标签: 宿主  访问  系列  容器 
阅读本书更多章节>>>>

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

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

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

博客目录

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

一.问题

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

配置文件:

server:  port: 8080spring:  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/bashCONTAINER_NAME=produce-demo-testIMAGE_NAME=produce-demo:latestdocker 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 的作用如下:

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

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

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

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

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

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

img

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/fengyun/2024-04-18/160041.html,文章来源:网络cs,作者:往北,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论