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连也一样:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
- linux机器重启了docker容器还在不(Linux下docker 容器退出bash的两种实现方法)
- docker与本地存储(docker 设置windows存储路径的操作)
- 远程给docker容器执行命令(Docker命令让普通用户能够执行的实现)
- docker端口映射和暴露端口的区别(解决docker指定udp端口号的问题)
- dockergitlab自动化教程(docker+gitlab+jenkins从零搭建自动化部署)
- 配置阿里云docker镜像地址(Docker配置阿里云镜像加速pull的实现)
- docker容器连接宿主机(docker 实现容器与宿主机无缝调用shell命令)
- docker ip地址分配(docker添加网桥并设置ip地址范围操作)
- 用docker搭建在线开发环境(Docker环境搭建的简单方法)
- docker容器停止后无法启动(解决docker容器重启之后/etc下某些配置文件被重置的问题)
- docker目录映射不起作用(关于dockerfile build过程中报/bin/sh: pip: command not found的解决方法)
- docker虚拟化容器使用教程(Docker安装ClickHouse并初始化数据测试)
- docker查看管理配置信息(Docker Secret的管理和使用详解)
- docker多个端口怎么区分(解决docker run时候启动两个占有不同端口的问题)
- docker redis安装配置(使用docker搭建redis主从的方法步骤)
- docker部署带配置的镜像(docker安装fastdfs镜像的一些注意事项)
- 每天都吃水果的好处(每天吃水果的好处与功效)
- 苹果15价格(苹果15价格512g官网)
- 春节放假几天(春节放假几天2023法定几天)
- 今天 3月13日,31年前,一个英雄少年感动了中国(今天3月13日31年前)
- 你好,新成理人丨成都理工大学2019级新生开学典礼隆重举行(新成理人丨成都理工大学2019级新生开学典礼隆重举行)
- 这部民警编演的红色话剧,讲述了一个不断追寻的故事(这部民警编演的红色话剧)
热门推荐
- sql function函数的用法(SQl Function 创建函数实例介绍)
- sqlserver 数据量需要多少内存(SQL Server在AlwaysOn中使用内存表的“踩坑”记录)
- docker镜像实例(Docker的镜像制作与整套项目一键打包部署的实现)
- 用python查看运行进程(在Python运行时动态查看进程内部信息的方法)
- dedecms有哪些功能(dedecms 二次开发之审核时间同步更新)
- extjs tabPanel的用法
- axios封装怎么实现(axios的简单封装以及使用实例代码)
- JavaScriptSerializer对Json对象的序列化和反序列化
- mvc renderpartial
- python解析视频源码(基于python实现高速视频传输程序)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9