Docker无法连接宿主机数据库
redis已经修改过为宿主机 ifconfig命令下 docker0的 172.17.0.1 连接地址,还是无法连接redis解决办法修改redis.conf文件第69行,把 bind 127.0.0.1 改为 0.0.0.0redis可以连接mysql以权限用户root登录选择mysql库查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)改host值(以通配符%的内容
·
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;
测试一下
问题解决
这两种开放所有地址访问都会有安全隐患
更多推荐
已为社区贡献1条内容
所有评论(0)