前情提要

docker的运用越来广泛,许多IT公司都已经将自己的服务跑在Docker上面。在安全性方面又做了一层防护。比如:跑在Docker上的Mysql不做外网端口映射,只能在linux服务器上或进入docker访问mysql,这样对开发者来说是有些不方便的。

那么,其实这种情况,我们也是有办法可以做到在本地连接docker里面的MySql数据库的。

环境:

  • Linux服务器:centos 7.7
  • 服务器IP:192.168.1.5
  • 容器:docker
  • 实例IP:172.17.0.2
  • 数据库:mysqld 5.7.28
  • 数据库客户端:navicat ,sqlyog

docker运行

通常我们运行docker实例的命令如:

[root@qinshengfei ~]# docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=attack docker.io/mysql

通常这样运行起来的服务有几个问题

  • 1、没有配置固定ip,这样一台服务器上跑多个docker服务,在以后重启的时候,ip地址会变
  • 2、ip没有映射,对生产环境来说这不是问题,测试环境和开发环境,这样就很不方便
  • 所以使用docker之前先做规划,是好习惯

客户端配置

sqlyog配置
  • 1、先配置SSH访问Linux服务器

  • 2、再配置访问MySql的账号密码

navicat配置
  • 1、先配置SSH访问Linux服务器

  • 2、再配置访问MySql的账号密码

总结

可能出现的问题

  • 1、SSH访问的账号密码正确与否
  • 2、访问MySql的账号密码正确与否
  • 3、运行Mysql实例的docker实例ip,是不是正确

利用SSH桥接访问服务器的Docker运行的MySql服务的更多相关文章

  1. php连接docker运行的mysql,显示(HY000/2002): Connection refused的解决办法

    php要连接docker中运行的mysql是不能用localhost, 127.0.0.1来连接的,因为每个docker运行容器的localhost 127.0.0.1都是自己容器本身,不是mysql ...

  2. 如何利用 docker 快速部署 Mysql 服务

    docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server, ...

  3. docker运行安装mysql postgres

    安装mysql [root@host1 ~]# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/mysql 5.7 4d ...

  4. Docker windows nanoserver/mysql镜像root用户密码错误

    由于需要在Windows server上的Docker中部署mysql服务,为了方便起见所以在Docker hub找到了nanoserver/mysql (https://hub.docker.com ...

  5. Docker运行MongoDB及Redis及ssh端口映射远程连接

    Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. ...

  6. 林帆:Docker运行GUI软件的方法

    继上周的“Kubernetes v1.0特性解析”分享之后,本周我们邀请到ThoughtWorks咨询师林帆为大家带来主题为“Docker运行GUI软件的方法”的分享. 嘉宾简介:林帆,Thought ...

  7. Docker运行GUI软件的方法

    转自 https://www.csdn.net/article/2015-07-30/2825340 简介: Docker通过namespace将容器与主机上的网络和运行环境进行了隔离,默认情况下,在 ...

  8. 利用SSH端口转发实现远程访问内网主机远程桌面(一) 建立SSH转发

    近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功 ...

  9. JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

    分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用 ...

随机推荐

  1. Android Studio(十二):打包多个发布渠道的apk文件

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  2. C++ 第四次作业 继承

    继承 继承时从新的类从已有类那里得到新的特征.继承实现了代码的重用,极大地减少了代码量,同时通过新增成员,加入了自身的独有特性,达到了程序的扩充. 派生类继承了基类的全部数据类和除了构造函数.析构函数 ...

  3. 史上最全的MYSQL备份方法

    本人曾经 用过的备份方式有:mysqldump.mysqlhotcopy.BACKUP TABLE .SELECT INTOOUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文 ...

  4. [转][ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [下篇]

    由于ASP.NET Core框架在本质上就是由服务器和中间件构建的消息处理管道,所以在它上面构建的应用开发框架都是建立在某种类型的中间件上,整个ASP.NET Core MVC开发框架就是建立在用来实 ...

  5. 移动端Chrome Inspect调试 (Android通过Chrome Inspect调试WebView的H5)(ios手机safari,chrome调试 windows)(如果inspect的时候,是空白)

    ios +chrome调试 引用https://segmentfault.com/a/1190000015428430 iTunes ios-webkit-debug-proxy-1.8-win64- ...

  6. python 动态生成变量名以及动态获取变量的变量名

    前言需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_list_1=[] ...

  7. Python--day41--threading中的定时器Timer

    定时器Timer:定时开启线程 代码示例: #定时开启线程 import time from threading import Timer def func(): print('时间同步') #1-3 ...

  8. java 注解(Annotation)

    注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记. 以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就 ...

  9. Koa搭建简单服务器

    1. dependencies "co-mysql": "^1.0.0", "koa": "^2.7.0", " ...

  10. tab选项卡平滑滚动vue

    <html lang="en"> <head> <meta charset="UTF-8"> <title>Ti ...