记得之前做网站开发的时候,因为服务端用的 MySQL 数据库,为了方便调试以及隔离生产与开发环境,自己就在本地也安装了一个 MySQL 数据库。但是用着用着慢慢的也发现了一些不舒服的地方,比如常驻后台的服务,半夜突然跳出来吓唬人的更新窗口。直到我遇见了 Docker,Docker 是一个比虚拟机更加轻量的虚拟化技术,它使用容器将应用与宿主环境隔离开。

在 Windows 上安装 Docker

首先启用 Windows 10 的容器功能,然后去 Docker 的官网,下载安装包。

跟着安装程序走完流程,Docker 就在 Windows 上愉快的游起来啦~

设置镜像地址

Docker 在创建容器的时候,需要从国外的网站下载必要的文件,由于显而易见的原因,我们在国内访问这个网站的速度不怎么快,所以我们需要设置一下国内可用的镜像。

我选择的是中科大的反向代理:http://docker.mirrors.ustc.edu.cn

方法如下:

  • 右键单击托盘里面的 Docker 鲸鱼图标

  • 单击 Settings

  • 在下图中的红框位置填写中科大镜像地址

  • 点击 Apply

下载 MySQL 镜像

打开 PowerShell

docker run --name zeekodb -e MYSQL_ROOT_PASSWORD=2333 -p 3307:3306 -d mysql

这条指令会从 Docker 的仓库下载最新的 MySQL 稳定版镜像,然后创建一个叫做 zeekodb 的容器,我们可以使用密码为 2333 的 root 账户通过 3307 端口连接到这个数据库。

一些基本操作

docker stop zeekodb //停止这个容器
docker start zeekodb //运行这个容器

这样我们就可以完全的把 MySQL 跟我们的 Windows 隔离开了。

自定义数据存储位置

上述的方法会把数据存在容器内部,如果我们需要更换新的数据库容器或者把数据迁移出来会不怎么方便,所以可以把数据文件存放在宿主机上。

首先要跟 Docker 共享一个硬盘,还是上面的 Setting 界面,把需要共享的硬盘勾上,然后点击 Apply。

创建新的容器

docker rm -f zeekodb // 删除之前的数据库

docker run --name zeekodb -v D:\DockerData\zeekodb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=2333 -p 3307:3306 -d mysql

这个语句会创建一个与上面一摸一样的数据库,唯一的不同是,这个容器会把 MySQL 的数据文件储存在宿主机的 D:\DockerData\zeekodb 这个目录下。

沉迷 Docker,无法自拔(在 Docker 中运行 MySQL)的更多相关文章

  1. Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. 开发中运行mysql脚本,发现提示mysql提示Column count doesn't match value count at row 1错误

    开发中运行mysql脚本,发现提示mysql提示Column count doesn't match value count at row 1错误, 调试后发现是由于写的SQL语句里列的数目和后面的值 ...

  3. docker 中运行 mysql

    在宿主机Host的终端执行: 1. 搜索docker镜像仓库中提供的mysql docker search mysql 2.下载mysql镜像 docker pull mysql 3.改变目录权限,非 ...

  4. 在docker中运行mysql实例

    Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化 ...

  5. docker学习(5) 在mac中创建mysql docker容器

    github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...

  6. 在 Docker 中运行 MySQL

    首先启用 Windows 10 的容器功能,然后去 Docker 的官网,下载安装包. 跟着安装程序走完流程,Docker 就在 Windows 上愉快的游起来啦~ 设置镜像地址 Docker 在创建 ...

  7. Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  8. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  9. 在Linux和Windows的Docker容器中运行ASP.NET Core

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...

随机推荐

  1. [转载] 十五分钟介绍 Redis数据结构

    转载自http://blog.nosqlfan.com/html/3202.html?ref=rediszt Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存 ...

  2. Python之函数返回多个值

    #!/usr/bin/env python26 #-*- coding:utf-8-*- def test(): a = 10 b = 20 return a,b #返回一个元组 atuple= te ...

  3. Python字符串之StringIO和struct

    StringIO: 提供类文件接口的字符串缓冲区,可选用性能更好的cStringIO版本: http://docs.python.org/2.7/library/stringio.html#modul ...

  4. SAXParserFactory

    Defines a factory API that enables applications to configure and obtain a SAX based parser to parse ...

  5. Redis安装及使用笔记

    windows下安装Redis 1.下载Redis的软件包 Redis on github; 2.将软件解压到服务器软件目录; 3.在命令行运行此命令: ./redis-server redis.wi ...

  6. c# linq的差集,并集,交集,去重【转】

    using System.Linq;      List<string> ListA = new List<string>(); List<string> List ...

  7. webapp填坑记录[更新中]

    网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...

  8. Python [习题] 文件操作:目录间copy 文件

    [习题] 指定一个源文件,实现copy到目标目录.例如把/tmp/sample1.txt 拷贝到/tmp/sample2.txt原文件需要有读权限(默认rt权限),目标文件需要给写(w即可)权限. I ...

  9. 关于node的前端项目编译时内存溢出问题

    最近在做一个基于vue 的多页面项目  , 页面n++多,编译时发生node内存溢出问题,继而百度之,得到解答,故记录之. '如图' 只需在 package.json 里面   加上    --max ...

  10. 基于HTML5 Canvas 点击添加 2D 3D 机柜模型

    今天又返回好好地消化了一下我们的数据容器 DataModel,这里给新手做一个典型的数据模型事件处理的例子作为参考.这个例子看起来很简单,实际上结合了数据模型中非常重要的三个事件处理的部分:属性变化事 ...