原创 杜亦舒
 

前阶段体验 Mysql 的新版本 5.7.13,由于机器里已经有 Mysql了,再安装另一个版本会有一些麻烦,为了简单,便使用 Docker 容器来安装

可能有人会认为没必要,在一台机器安装多个 Mysql 也没那么复杂,的确,单纯实现这个需求的话没问题,但其实这是一个普遍性的需求

例如 JDK 出新版本了、Redis 出新版本了、听说一个新的东西不错…… 都需要体验一下,机器数量有限,如果都安装到一台机器中的话,有很大概率会出现莫名其妙的问题,非常难维护

使用虚拟机可以解决这类问题,但是虚拟机很重,安装费时,系统资源占用非常多

Docker 容器就是非常好的选择,可以像虚机那样完全和宿主机隔离,而且安装启动非常快,资源占用少,一台机器中可以运行多个容器

例如,服务器中已经安装了 Redis 2.8 和 Mysql 5.6,现在想测试一下各自的新版本,就可以在Docker容器中安装,他们各自独立,不会互相影响

下面看一下在 Docker 中安装和使用 Mysql 的方式,为了便于理解,会类比虚机的概念

注:介绍的是整体思路,不是详细的安装步骤

(1)安装 Docker 环境

在 Windows、Linux、Mac 下都有相应的安装程序

就像在自己的机器中安装 VirtualBox

(2)获取一个镜像

例如从镜像仓库获取一个 Ubuntu 的镜像

docker pull ubuntu

就像在 VirtualBox 中安装了一个 ubuntu linux 系统

(3)启动容器

可以理解为在 VirtualBox 中把 ubuntu 运行起来

为了便于后面在主机中连接容器内的 Mysql,启动容器时可以指定映射端口,例如主机的 3307端口映射到容器内的3306端口

容器启动后,就可以进入 ubuntu 的 shell,进行正常操作,例如

[root@8f6f3cad2 /]#

(4)把Mysql安装包拷贝到容器中

在主机中下载好 Mysql 5.7.13 的安装包,然后通过 Docker 的拷贝命令将其放到容器内部

 

(5)在容器中安装运行 Mysql

在 ubuntu shell 下正常执行 Mysql 的安装操作,安装完成后,运行 Mysql

然后添加一个可以远程访问的用户,例如 test,密码 111111

(6)在主机中连接 Mysql

在主机中使用 Mysql 的客户端进行连接,连接信息:

Host - 分配给Docker的IP(可通过 Docker命令获得)

Username - test

Password - 111111

Port - 3307

这样,一个完全独立的 Mysql 就安装完了,这只是 Docker 的一个简单应用场景,Docker 非常实用,现在的应用范围已经相当广泛,以后会介绍更多的用法和案例

Docker容器案例:应用 Mysql的更多相关文章

  1. Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

    搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...

  2. mac 下直接给docker容器加映射 mysql 为例

    如果你是下面这种情况,本文可能回给你一些帮助 os是Mac,docker中已有mysql容器,并且已经有数据,但是没有设置映射,想要从主机连接docker 中的mysql,以便更好的查看,增加,删除数 ...

  3. Navicat 远程连接Docker容器中的mysql 报错:1251 - Client does not support authentication protocol 解决办法。

    出现这个问题 首先进入 1.docker exec -it mysql02 bash      //mysql02是mysql容器的别名 2.mysql -uroot -p 3.输入密码 4.进入my ...

  4. docker - 容器里安装mysql

    在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...

  5. Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题

    首先在宿主机输入env 查看LANG 或者 locale 查看 LANG 发现本地使用的字符集是: zh_CN.UTF-8 然后执行 docker exec -it mysql bash 进入dock ...

  6. 客户端远程连接docker容器中的mysql 报1251错误

    1.启动容器: [root@localhost ~]# docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql2.进入容器: [r ...

  7. Docker容器手动安装mysql(国内镜像)

    Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...

  8. docker 容器中设置 mysql lampp php软链接

    在容器中安装xampp后,进入到终端,直接输入mysql php 发现报错,命令未被发现.如果输入/opt/lampp/bin/mysql   就可以进入了,所以我们要找到在容器中安装的位置,然后将他 ...

  9. 使用docker容器运行MySQL数据库并持久化数据文件

    1.下载mysql镜像 # docker pull mysql 2.启动mysql容器 # docker run -itd -v /data:/var/lib/mysql -p 33060:3306 ...

随机推荐

  1. js jquery版本的 金额千分位转换函数(非正则,效率极高)

    没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...

  2. html语意化标签

    一.布局的理解误区 网络上流行管新型的布局方式叫“DIV+CSS”,其实是一个错误的理解,导致了很多人过度依赖 与滥用DIV标签, HTML提供了我们一共七八十个标签,其中常用的有三十个左右,DIV不 ...

  3. DB面试题

    1.如何让SELECT 查询结果额外增加自动递增序号 select * from ( select a.姓名, a.成绩, (select count(id) from 表 where 成绩>= ...

  4. 那些跟钱有关的事儿 z

    这是两段朴实的创业笔记,作者是王信文,2009年南京大学本科毕业,2009年9月到2013年3月在腾讯上海的互动娱乐部门工作,2013年3月到现在和几个前同事一起创立了莉莉丝游戏(手游刀塔传奇是他们后 ...

  5. Selenium-Python学习——通过XPath定位元素

    用Xpath定位元素的方法总是记不住,经常要翻出各种文档链接参考,干脆把需要用到的内容整到这个笔记中方便查找. Xpath是在XML文档中定位节点的语言.使用 XPath 的主要原因之一是当想要查找的 ...

  6. unity3d教程资源

    unity2d教程网 http://learnunity2d.com/2d-shootem-up-tutorial/ 横版射击2d游戏系列教程 http://pixelnest.io/tutorial ...

  7. WCF测试工具,post经验

    以前使用WCF的post的时候总是不知道怎么传值,需要注意2方面 1.头可以用Json或者是xml来传值 Content-Type: application/json; charset=utf-8 2 ...

  8. vim讲解

    文本编辑vi使用 最好使用vim,采用sudo apt-get install vim vi是Linux及类Unix系统中主流的命令行文本编辑器,功能极为强大,vim是增强版本的vim.Vim的高级地 ...

  9. js学习记录

    1.js语法 2.数据类型(基本类型与对象类型.类型的转换) 2.1 数字 2.2 文本 2.3 布尔值 2.4 null和undefined 2.5 对象 2.6 类型检测 3.操作符和表达式 4. ...

  10. MATLAB绘图与图形处理

    参考:http://www.cnblogs.com/djcsch2001/tag/MATLAB/  matlab部分写的不错! 7.2  三维图形 7.2.1  三维曲线.面填色命令 命令1  com ...