文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

docker容器项目无法访问mysql

2023-09-08 21:27

关注

使用docker容器部署的项目无法访问在主机中安装的mysql?

从项目安全角度考虑,大多数公司在线上项目中都会开启防火墙,并针对指定端口添加白名单的方式进行访问。恰好就遇到了安装在宿主机中的mysql的端口3306没有开启访问,而是需要通过添加ip白名单的方式进行访问。这里mysql和容器部署的项目是在同一个服务器,mysql不是通过容器部署的。

刚开始是先将用户的有线ip和vpn ip添加至服务器的3306端口,但是仍然无法访问到mysql,经过多次尝试然后发现在docker-compose中有指定了docker项目的ipv4_address,然后尝试将该地址添加到mysql的3306端口,成功解决问题。

容器项目docker-compose

executor:
    image: redis
    ports:
      - 1111:1111  #暴露的端口信息和docker run -d -p 80:80 一样
    container_name: executor-test #容器名称
    networks: 
      default_net: 
        ipv4_address: xxx.xxx.xxx.x
    environment: 
      - TZ=Asia/Shanghai

添加白名单命令:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.x" port protocol="tcp" port="3306" accept'

当容器没有指定ipv4_address的时候,docker会默认生成一个容器ip地址,通过如下命令查询:

docker inspect 容器id

显示内容中部分

     "Networks": {
                "test-compose_default_net": {
                    "IPAMConfig": {
                        "IPv4Address": "169.122.178.33"
                    },
                    "Links": null,
                    "Aliases": [
                        "64c44adf5a89",
                        "test"
                    ],
                    "NetworkID": "89284b44b52c5b0e07c9dd26094",
                    "EndpointID": "d1ae9ead2958450a2123a8566371",
                    "Gateway": "169.122.178.1",
                    "IPAddress": "169.122.178.33",
                    "IPPrefixLen": 12,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "05:48:d0:a0:l0:55",
                    "DriverOpts": null
                }
            }

其中  "IPv4Address": "169.122.178.33" 就是docker默认生成的。

来源地址:https://blog.csdn.net/weixin_48922293/article/details/130315808

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯