Docker无法连接宿主机数据库

9 篇文章 1 订阅
9 篇文章 0 订阅

redis

已经修改过为宿主机 ifconfig命令下 docker0的 172.17.0.1 连接地址,还是无法连接redis
docker中redis配置信息

  # redis配置信息
    REDIS_HOST = '172.17.0.1'
    REDIS_PORT = 6379
    LEVEL_NAME = logging.DEBUG

    # session配置
    SESSION_TYPE = 'redis' # 设置redis存储的类型
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT) # 指定session存储的redis服务器
    SESSION_USE_SIGNER = True # 设置签名存储

不利用守护方式启动容器,可以看到redis、mysql连接数据库报错
在这里插入图片描述

解决办法

修改redis.conf文件第69行,把 bind 127.0.0.1 改为 0.0.0.0在这里插入图片描述
redis恢复连接

mysql

class ProductConfig(Config):
    # 数据库配置信息
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@172.17.0.1:3306/information'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True # 每当改变数据内容之后,在视图函数结束的时候会自动提交

    DEBUG = False
    LEVEL_NAME = logging.ERROR
  • 以权限用户root登录
  • 选择mysql库
  • 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
  • 改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
  • 刷新MySQL的系统权限相关表
MariaDB [(none)]> use mysql;
MariaDB [mysql]> SELECT user, host FROM mysql.user
MariaDB [mysql]> update user set host = '%' where user ='root' and host='localhost';
MariaDB [(mysql)]> flush privileges;

测试一下
问题解决
在这里插入图片描述
这两种开放所有地址访问都会有安全隐患

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值