Docker容器案例:应用 Mysql
前阶段体验 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的更多相关文章
- Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例
搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...
- mac 下直接给docker容器加映射 mysql 为例
如果你是下面这种情况,本文可能回给你一些帮助 os是Mac,docker中已有mysql容器,并且已经有数据,但是没有设置映射,想要从主机连接docker 中的mysql,以便更好的查看,增加,删除数 ...
- 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 ...
- docker - 容器里安装mysql
在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...
- Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题
首先在宿主机输入env 查看LANG 或者 locale 查看 LANG 发现本地使用的字符集是: zh_CN.UTF-8 然后执行 docker exec -it mysql bash 进入dock ...
- 客户端远程连接docker容器中的mysql 报1251错误
1.启动容器: [root@localhost ~]# docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql2.进入容器: [r ...
- Docker容器手动安装mysql(国内镜像)
Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...
- docker 容器中设置 mysql lampp php软链接
在容器中安装xampp后,进入到终端,直接输入mysql php 发现报错,命令未被发现.如果输入/opt/lampp/bin/mysql 就可以进入了,所以我们要找到在容器中安装的位置,然后将他 ...
- 使用docker容器运行MySQL数据库并持久化数据文件
1.下载mysql镜像 # docker pull mysql 2.启动mysql容器 # docker run -itd -v /data:/var/lib/mysql -p 33060:3306 ...
随机推荐
- C#String与string大小写的区别
string是c#中的类 String是.net Framework的类 用string需要通过再次编译,所以直接用String速度会更快··· string是关键字,而String不是··· str ...
- 什么是Code Review(转)
Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节.本文通过对Code Review的一些概念和经验的探讨,就如何进行C ...
- ↗☻【编写可维护的JavaScript #BOOK#】第8章 避免“空比较”
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- Android 中的MVP 模式
MVP模式的核心思想: MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成功接口,Model类还是原来的Model. MVC 其中View层其实就是程序的UI界面,用于向用户展示 ...
- ejabberd中的http反向推送
http的反向推送通常使用"长轮询"或"长连接"的方式. 所谓"长轮询"是指客户端发送请求给服务器,服务器发现没有数据需要发送给客户端. h ...
- spinner 设置文本框中的字体颜色
onItemSelected(AdapterView parent, View v, int position, long id) { TextView v1 = (TextView)v; v1.se ...
- 关于C#中static静态变量
C#静态变量使用static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问一个类的所有实例的同一C#静 ...
- [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.4.6
Let $A$ and $B$ be two matrices (not necessarily of the same size). Relative to the lexicographicall ...
- opencv 在工业中的应用:模板匹配
模板匹配在工业中经常有两个用途,一模板匹配进行产品定位,二根据匹配度来判断是OK的产品还是NG的产品.我用OPENCV做了个模板匹配定位的DEMO. (1)点击打开图像按钮打开一幅图像 (2)点击定义 ...
- 在ASP.NET MVC中修改默认代码生成/支架模板
到 C:\Program Files (or x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp (or Visual ...