如何让外部主机访问到docker中的数据库
来源:互联网 发布:网络惊魂 百度云 编辑:程序博客网 时间:2024/05/22 02:11
之前有人写过这方面的,不过没有怎么细讲数据库的授权,我觉得做下测试还行,但在生产环境中我觉得风险还是挺大的。
环境:docker容器中是ubuntu+mysql-server,外部主机ubuntu+mysql-client工具。
1.在docker容器中进入mysql-server,为 root@外部主机IP 授权,这里要指定ip的作用是只有从我本机进行访问的root用户有对应权限,其他ip的root用户最好是禁掉的,或者说可以为root@%(这个%指任意ip但是不包括localhost这个特殊值)进行指定权利授权,根据实际使用情况进行操作;
2.修改mysql的配置文件,把bind_address给注释掉。然后重启mysql;
3.运行docker容器时进行端口映射,-P 外部主机端口号:3306;
4.在外部主机访问docker的mysql服务时:
命令: 进入MySQL的角色
mysql -uroot -h 外部主机IP -P3306 -p root@外部主机IP
mysql -uroot -h 0.0.0.0 -P3306 -p root@%
由于我没有对root@%没有授权,所以第二个是无法访问的,第一个则可以实现访问(这里的外部主机并不是指其他机器,是指docker容器所在的机器)
在mysql中127.0.0.1和localhost总是不同的概念,有没有DBA解答下啊,还有为什么上述第4步两个命令-h不是指定访问主机的ip,为什么会有个0.0.0.0?..
- 如何让外部主机访问到docker中的数据库
- docker网络-如何让外部网络访问容器资源
- docker与主机访问
- 从外部访问Docker
- 虚拟机中的数据库无法在主机访问
- 如何让Vmware Linux访问主机共享文件夹
- 如何将Docker容器中的文件导入主机
- 通过使用主机中的sqldeveloper访问虚拟机中的oracle数据库
- 10: docker 主机远程访问另一台docker 主机
- Docker---从Docker复制文件到主机
- 如何让mysql数据库允许远程访问
- 如何让nova-compute 可以访问数据库
- 如何访问数据库中的数据
- linux 下允许外部ip访问你到mysql 数据库
- Linux 下允许外部ip访问你到MySQL 数据库
- 开启数据库外部访问
- 主机如何访问运行在虚拟机中的Django项目
- 如何使主机访问虚拟机中的服务器的网络设置
- 前端开发环境搭建
- 数据结构上机测试2-2:单链表操作B
- Tecplot.360EX+Chorus.2017.2.0.79771.Win64.&.Linux64.&.MacOSX64 3CD
- java 发送 mail 纯文本发送和html格式发送
- SLAM学习--三维空间刚体运动
- 如何让外部主机访问到docker中的数据库
- RecyclerView嵌套在NestedScrollView中的注意事项
- ImagerLoder
- Maven 入门篇
- caffe.proto详解
- Centos7 配置SVN服务器
- 由于图片异步加载,造成的被scrollView包裹的listview显示不全
- Spring Cloud(一):前言
- oracle高级用法之存储过程