利用SSH桥接访问服务器的Docker运行的MySql服务

前情提要

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实例的命令如:

[[email protected] ~]# 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,是不是正确

原文地址:https://www.cnblogs.com/qinshengfei/p/12149152.html

时间: 2024-10-06 02:38:57

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

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

docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server,然后执行拉取命令,注意可以选择tag版本,默认是latest. docker pull mysql/mysql-server:tag 等待拉取完成即可. docker Mysql-server 启动与配置 docker 部署的优势就在于其快速便捷,下面就进行几项步骤: 启动 docker 该容器命名

Docker创建支持MySQL服务的镜像

#本地已有镜像 FROM docker.io/centos #作者信息 MAINTAINER liangyj "[email protected]" #安装依赖工具 RUN yum install -y gcc gcc-c++ make autoconf ncurses-devel #下载cmkae ADD   /usr/local/src #编译安装cmake WORKDIR /usr/local/src RUN tar xzvf cmake-3.0.2.tar.gz WORKDIR

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

Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. 本节中,我们需要依次完成下面几项任务: MongoDB 的安装及配置 Redis 的安装及配置 Dockerfile 的编写 从 Dockerfile 构建镜像 本次实验的需求是完成 Dockerfile,通过 Dockerfile 创建 MongoDB 或 Redis 应用.Dockerhub上

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

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 继上周的"Kubernetes v1.0特性解析"分享之后,本周我们邀请到ThoughtWorks咨询师林帆为大家带来主题为"Docker运行GUI软件的方法"的分享. 嘉宾简介:林帆,ThoughtWorks咨询师,主要关注Docker与容器相关方向. 简介: Docker通过namespace将容器与主机上的网络

Docker运行GUI软件的方法

转自 https://www.csdn.net/article/2015-07-30/2825340 简介: Docker通过namespace将容器与主机上的网络和运行环境进行了隔离,默认情况下,在容器中运行带界面的软件在外部是看不到的.在这个分享中,将介绍通过共享X11套接字让外部主机显示容器中运行的程序界面的方法.并讨论在『运行本地的GUI程序』和『运行远程服务器上的GUI程序』两种场景的下的实现原理. 下文是本次的分享整理: Docker比较常用的场景是『运行无界面的后台服务』或者『运行

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

近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功能将远程桌面请求转发至内网主机. SSH隧道 SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据,除此之外SSH 还能够将其他TCP端口的网络数据通过SSH链接来转发,并且自动提供了相应的加密及解密服务,这一功能也称为“SSH隧道”.SSH隧道分为本地转发.远程转发和动态转发. 本地转

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

分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发). 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话.在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,

Docker 后台进程参数-------更改Docker运行根目录的方法

参数 介绍 --api-enable-cors=false 远程API调用. -b, --bridge="" 桥接一个系统上的网桥设备到 Docker 容器里,当使用 none 可以停用容器里的网络 --bip="" 使用 CIDR 地址来设定网络桥的 IP.此参数和 -b 不能一起使用. -D, --debug=false 开启Debug模式.例如:docker -d -D -d, --daemon=false 开启Daemon模式. --dns=[] 设置容器使

利用SSH软件上传、下载(使用sz与rz命令)

1.简述 通常,利用SSH管理远程Linux服务器时,经常需要与本地交互文件.当然,我们可以利用FTP方式,比如通过Filezilla客户端软件.不过直接使用SSH软件(SecureCRT.Xshell)自带的上传和下载功能无疑使最方便快捷的.通常SSH软件支持的文件传输协议主要有ASCII.Xmodem.Zmodem等. rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 首先,你的Linux端(CentOS, Ubuntu)需要安装rz.sz. 其次,