沉迷 Docker,无法自拔(在 Docker 中运行 MySQL)
记得之前做网站开发的时候,因为服务端用的 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)的更多相关文章
- Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- 开发中运行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语句里列的数目和后面的值 ...
- docker 中运行 mysql
在宿主机Host的终端执行: 1. 搜索docker镜像仓库中提供的mysql docker search mysql 2.下载mysql镜像 docker pull mysql 3.改变目录权限,非 ...
- 在docker中运行mysql实例
Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.下图是容器跟虚拟机的对比 对docker有个大致了解,学习docker断断续续,虽说学习不能急于求成,但断断续续学的话,浪费的碎片化 ...
- docker学习(5) 在mac中创建mysql docker容器
github上有一个专门的docker-libary项目,里面有各种各样常用的docker镜像,可以做为学习的示例,今天研究下其中mysql镜像的用法,国内镜像daocloud.io也能找到mysql ...
- 在 Docker 中运行 MySQL
首先启用 Windows 10 的容器功能,然后去 Docker 的官网,下载安装包. 跟着安装程序走完流程,Docker 就在 Windows 上愉快的游起来啦~ 设置镜像地址 Docker 在创建 ...
- Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- 在docker中运行ASP.NET Core Web API应用程序
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...
随机推荐
- javascript 中遍历数组的简单方法
在Javascript中有自带方便遍历数组的方法(此方法非彼方法不要误会哦): 1 .利用for( index in array ){}; 2.利用 array.forEach( function(e ...
- 接受第三方app分享的数据
前段时间公司项目需要一个需求: 把第三方的app分享的数据接受到自己的apk中, 涉及到的第三方app是: Youtube/Amazon/NetFlix, 这些app通过分享功能把当前的信息分享出去. ...
- Python的路径引用
1.以HOME目录为准,进行跳转 sys.path.append(os.path.dirname(__file__) + os.sep + '../') from config import swor ...
- JavaScript数据可视化编程学习(二)Flotr2,雷达图
一.雷达图 使用雷达图显示多维数据. 如果你有多维的数据要展示,那么雷达图就是一种非常有效的可视化方法. 由于雷达图不常用,比较陌生,所以向用户解释的时候有一些难度.注意使用雷达图会增加用户认知负担. ...
- VMWare安装Centos 6.9
VMWare下Centos 6.9安装教程,记录如下 1.新建虚拟机 (1)点击文件-->新建虚拟机 (2)选择 自定义(高级)-->下一步 (3)选择Workstation 12.0-- ...
- Orchard Core一分钟搭建ASP.NET Core CMS
Orchard Core 是Orchard CMS的ASP.NET Core版本. Orchard Core是全新一代的ASP.NET Core CMS. 官方文档介绍:http://orchardc ...
- socket.io 入门篇(一)
本文原文地址:https://www.limitcode.com/detail/591b114bb1d4fe074099d9c9.html 前言 本篇介绍使用node.js模块组件socket.io实 ...
- python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?
Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量 ...
- jQuery与别的js框架冲突
jQuery.noConflict()运行这个函数将变量$的控制权让渡给第一个实现它的那个库. 这有助于确保jQuery不会与其他库的$对象发生冲突. <script type="te ...
- Java 将两个有序数组合成为一个有序数组
基本思路 1.如果其中一个数组的元素均大于另一个数组的元素,则可以直接组合,不用拆分. 即:其中一个数组的第一个元素大于或者小于另一个数组的最后一个元素 2.若不满足1中的情况,则表明数组需要拆分,拆 ...