惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
雷峰网
雷峰网
量子位
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
T
Tailwind CSS Blog
月光博客
月光博客
博客园 - 【当耐特】
博客园_首页
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
人人都是产品经理
人人都是产品经理
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell

LINUX DO - 最新话题

谷歌云盘下载700g数据集,求方法 OpenAI推出了100美元的Pro订阅后,plus的Codex 5小时限额大幅缩水 之前买的super grok居然还没掉 关于hotmail开gpt会员的问题 关于CPA认证文件周限 佬们,默认CDK的要求是什么等级啊? 最新版本的微信群聊机器人方案 有没有人知道如何free号没有封,那么是否可以循环使用,因为我看主要是周限 L站改版了?吓我一跳,我以为我浏览器崩了 淘宝这种宽带可信吗,500兆移动宽带月费8元到2099年 Erp全栈想转行做Ai有什么推荐的吗 boost有bug 佬们,有没有靠谱点的 Plus 购买渠道 大妈,狗妈用的 lg 服务有源头开源项目吗? 有人有能过验证码打码的嘛 上次帖里好像发过通过大模型来打码的 gpt plus 封号似乎也太快了点,一天就给封号了 按流量/token收费的国产官方AI推荐 我算是知道了为什么Oracle总是ABC了 佬友们帮我分析一下 ChatGPT Team账号只有一个人使用和4个席位邀请满了使用的总额度是一样的吗? gpt-free 10个带rt CPA反代claude是默认1m吗? 我终于敢说我做出来windows上tmux的替代了,目标windows/全平台最强的终端Ai编程工具 claude pro升级max,除了原来的$20,好像还能再领一次$100 关于AI agent的知识框架 独乐乐不如众乐乐,分享一下我的的AI对话程序 佬们自建网站支付问题是怎么解决的 怎么能让gpt模仿claude风格输出 codex free已经死了,下一个会是plus或者team吗 请问chatgpt pro里的fast模式,速度快了,降智吗
docker内部应用访问宿主机mysql和redis时被拒绝connection re...
chuangshiji (chuangshiji) · 2026-04-11 · via LINUX DO - 最新话题

之前写过两篇docker踩坑日记

Docker踩坑日记 - 不要没事总想着更新!

今天继续记录一个实际例子

一、连接地址切记不能用localhost和127.0.0.1

这些地址代表的都是容器内的系统,根本没有访问到宿主机,会一直报连接mysql/redis异常。

二、用docker的虚拟网卡地址

在宿主机查询网卡情况------ifconfig
docker0这块虚拟网卡的 inet 地址就是正确的本地ip(如172.17.0.1)

所以打包时,例如java打包时,要将配置文件中的ip改成172.17.0.1,这样就能保证容器内部可以访问到宿主机了

三、关闭掉ubuntu防火墙

关掉是最简单粗暴的做法,另外可以使用iptables建立规则

四、更改mysql,redis配置

一般mysql,redis都会绑定本地ip,如果做测试或内网可以将这个配置注释掉

mysql如下
#bind-address           = 127.0.0.1
#mysqlx-bind-address    = 127.0.0.1

同时增加一个"%"不受ip限制的mysql用户,这样容器内就可以彻底访问到宿主mysql了
redis如下

#bind 127.0.0.1 ::1
protected-mode no

这样容器内就可以彻底访问到宿主redis了

从docker容器向宿主机访问的场景,应该比较少:rofl: 更多就是测试下 :squinting_face_with_tongue:,如果一定要这么做,可以参考我这个帖子。

Lindo (佬友记) 2

你把你的mysql和redis暴露在公网了

chuangshiji (chuangshiji) 3

哈,感谢大佬提醒,太惊险了,暴露了好多秘密 :star_struck:

用 docker compose 不就好了,为什么要用外部的 redis:lark_009:

fimmy (fimmy) 5

建共用bridge网络,然后用容器名访问就好了

chuangshiji (chuangshiji) 6

我本地尝试下,感谢提供方法,我感觉从容器内部向外访问貌似很少用,只是想测试下

还有就是用 host.docker.internal 访问宿主机网络,如果是 Linux 环境下就用下面的方式启用该网关域名。

services:
  example:
    extra_hosts:
      - "host.docker.internal:host-gateway"

fimmy (fimmy) 8

我一般容器互访都是用容器名访问,不用暴露端口。
如果你mysql和redis不是docker部署就没试过这种。

chuangshiji (chuangshiji) 9

确实是这样的,只是好奇想试试,其实从里再向外访问确实挺别扭的 :handshake: :handshake: