Docker方式使用NextCloud时报错笔记

文章讲述了在使用Docker时,遇到创建管理员用户时数据库连接失败的问题,通过分析发现容器是通过docker0网络接口172.17.0.1连接宿主机MySQL。解决方法是确认容器通过这个IP地址可以访问数据库,最终解决了连接问题。
摘要由CSDN通过智能技术生成

系统信息

uname -a
Linux Centos7 3.10.0-1160.114.2.el7.x86_64

下载,创建映射目录,启动容器,进入管理页面 ,填入相关信息创建时

提示:错误

Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused

分析是mysql数据库连接问题,分析在数据库主机这里怎么填的,NextClound容器是通过那个网段访问的是哪个数据库,是容器内部的还是宿主机上的。在宿主机上 ifconfig

ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ba:31:36:05  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0 是 Docker 默认的虚拟网络接口,用于 Docker 容器之间的通信。

  • flags: 4099<UP,BROADCAST,MULTICAST>
    • UP: 接口已启用。
    • BROADCAST: 接口支持广播。
    • MULTICAST: 接口支持多播。
  • mtu: 最大传输单元是 1500 字节。
  • inet: IP 地址是 172.17.0.1,子网掩码是 255.255.0.0,广播地址是 172.17.255.255
  • ether: 硬件(MAC)地址是 02:42:ba:31:36:05
  • RX packets/bytesTX packets/bytes: 接收(RX)和发送(TX)的数据包和字节数统计。
  • RX/TX errors, dropped, overruns, frame, carrier, collisions: 相关的错误和统计信息。

问题的答案:容器是通过 docker0 访问宿主机数据库。对于容器来说访问 docker0的ip:172.17.0.1就可以连接到宿主机了
再次启动测试正常
示例图

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值