docker如何搭建mysql(docker容器访问宿主机的MySQL操作)
docker如何搭建mysql
docker容器访问宿主机的MySQL操作背景:有一个flask项目提供接口,使用docker容器构建并且运行,MySQL在宿主机运行,需要在容器中可以让flask连接上宿主机的mysql
使用ifconfig命令可以看到,有一个docker0和eth0,在docker容器中可以通过eth0的IP地址加上端口号(3306)这样就可以连接上宿主机的MySQL了;另外,nginx可以通过docker0的IP地址加上构建容器时指定的端口号进行访问容器。
补充:docker的mysql容器运行正常,但是宿主机却连不上数据库,解决方法来啦
docker运行mysql容器正常,宿主机Navicat却无法连接
我在docker上面执行docker ps显示如下:
说明我的mysql是正常的,但是我用sqlyog和Navicat都无法连接我的数据库,后来才发现问题所在,之前我在创建mysql容器(docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6.35)时候虽然成功,但是有一句提示我疏忽了:
这里提示网络不可用,所以宿主机无法连接数据库
解决办法:现在输入这个命令vim /usr/lib/sysctl.d/00-system.conf(vim不行的话你就输入vi):
马上会出现这个:
在末尾添加这句: net.ipv4.ip_forward=1 (添加的指令是这样:先按i 键,接着你就可以操作了)然后保存退出(写好了net.ipv4.ip_forward=1这个命令按esc键,接着Ctrl+: 最后输入wq! 你就保存退出了),你再重启network服务: systemctl restart network 先把刚才那个mysql的容器停止docker stop docker ,再把容器删了docker rm mysql 如下:
现在你可以重新创建mysql的容器了,看下效果:
是不是没有那个网络不可用的警告了;我用sqlyog连接的,用Navicat连也一样:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
- docker的postgres镜像包(Docker中运行PostgreSQL并推荐几款连接工具)
- docker容器启动后怎么进入(Docker 退出container后保持继续运行的操作)
- docker 部署springboot项目(Spring Boot Docker打包工具小结)
- docker容器里面有java运行环境吗(利用 Docker 构建简单的 java 开发编译环境的方法详解)
- centos上docker的部署(CentOS8下的Docker使用详解)
- docker如何访问nginx(基于docker启动nginxssl配置)
- docker同步宿主机配置(docker容器间跨宿主机通信-基于overlay的实现方法)
- net coredocker基础镜像(Docker 部署net5程序实现跨平台功能)
- docker镜像实例(Docker的镜像制作与整套项目一键打包部署的实现)
- docker的一些使用方法(使用Docker 安装 Jenkins的方法)
- docker添加mq基础镜像(Docker阿里云RocketMQ 4.5.1部署流程详解)
- docker的启动的绝对命令(在docker中开启sshd操作)
- docker容器与宿主机通信(docker容器与宿主机的数据交互方式总结)
- 用docker搭建在线开发平台(docker部署蜗牛影院系统详细流程分析)
- docker怎么连主机数据库(docker 安装nacos并配置数据库的教程详解)
- linux搭建nacos(docker搭建nacos1.3.0的实现)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
热门推荐
- sql server 管理日志可以删除吗(SQL Server查看login所授予的具体权限问题)
- 使用NuGet管理项目的DLL
- mysql集群是用什么搭建的(MySQL5.7 集群配置的步骤)
- python6个基础数据类型(计算机二级python学习教程3 python语言基本数据类型)
- python strip用法(Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析)
- laravel命令控制器怎么设置(Laravel获取当前请求的控制器和方法以及中间件的例子)
- C# volatile与lock
- python怎么装opencv(Python基于opencv实现的简单画板功能示例)
- linux什么时候使用信号(浅谈Linux信号机制)
- html5实现上传图片预览
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9