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

在 Windows 上安装 Docker

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

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

设置镜像地址

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

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

方法如下:

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

  • 单击 Settings

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

  • 点击 Apply

下载 MySQL 镜像

打开 PowerShell

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

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

一些基本操作

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

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

自定义数据存储位置

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

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

创建新的容器

  1. docker rm -f zeekodb // 删除之前的数据库
  2. 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. 【OpenCV】一种基于阈值的图片中的文字分割

    在今年泰迪杯A题电商中图片的文字识别这道题中,我们先用了一种很笨的办法来分割字符. 首先对图片进行灰度化,然后二值化,这里的二值化要选择一个合适的阈值.然后我们进行轮廓的提取,计算轮廓最小矩形的面积, ...

  2. Mac上编译并运行Android5.0源码

    下载.配置环境.build和运行参考的都是Android Source提供的文档,包括:Initializing a Build Environment,Downloading the Source和 ...

  3. [转载] PHP 线程,进程和并发

    转载自http://chenpeng.info/html/3021 进程 进程是什么?进程是正在执行的程序:进程是正在计算机上执行的程序实例:进程是能分配给处理器并由处理器执行的实体. 进程一般会包括 ...

  4. 【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类

    背景 即使到今天,iOS 应用的内存泄露检测,仍然是一个很重要的主题.我在一年前,项目中随手写过一个简单的工具类,当时的确解决了大问题.视图和控制器相关的内存泄露,几乎都不存在了.后来想着一直就那个工 ...

  5. Vue之彻底理解自定义组件的v-model

    最近在学习vue,今天看到自定义事件的表单输入组件,纠结了一会会然后恍然大悟...官方教程写得不是很详细,所以我决定总结一下. v-model语法糖 v-model实现了表单输入的双向绑定,我们一般是 ...

  6. openFace 人脸识别框架测试

    openface  人脸识别框架  但个人感觉精度还是很一般 openface的githup文档地址:http://cmusatyalab.github.io/openface/ openface的安 ...

  7. C语言之猜数游戏

    #include<stdio.h>#include<stdlib.h>#include<time.h>int main(){ srand(time(0)); int ...

  8. Teredo Tunnel Adapter: Error Code 10

    Teredo Tunneling 该设备无法启动 错误代码 ErrCode:10 解决方法 前文: Win7 系统,打算开启IPV6,本地连接的网络 ip6 驱动是异常的,先重新安装了网卡驱动. 过程 ...

  9. Java集合(1)一 集合框架

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) java集合(4)一 红黑树. ...

  10. page 简单易懂 分页

    基础分页功能 <?php class Page{  //$count是用户设定的值      public $a;    function pages($count,$page_num,$url ...