Docker:Windows下部署MySQL

时间:2022-05-14
本文章向大家介绍Docker:Windows下部署MySQL,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Docker是什么?

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

说人话

如果你玩过虚拟机的话,就知道可以在当前系统下通过 VMware、virtualBox 等安装一个新的系统,你可以定制这个虚拟机的CPU 内存 硬盘等参数,获得几乎媲美原生的体验。既然系统可以安装为一个虚拟机,那么聪明的人就有了一个大胆的想法,我可不可以把一个软件服务通过虚拟机装起来呢?于是docker应运而生,docker不仅可以安装centos Ubuntu等操作系统,也可以安装nginx mysql等服务,甚至可以部署个人编写的web服务。 通过虚拟机托管,这样启动了一个进程就相当于在物理机系统中启动了一个新的服务——进程即服务。由于win10自带hyperV虚拟机,因此windows上的docker能直接调用这个虚拟机。

为什么要用Docker?

在没有docker之前,如果我们要在windows上安装mysql、mongodb需要先下载这些软件,然后还要一步步点设置,并且注册到windows服务。并且根本不知道安装到什么地方(某些版本mysql不能指定安装位置,默认到C盘)。同时也会在控制面板内注册许多相关的插件。以后要卸载的时候可能还会有各种残留。作为一个强迫症患者这是万万不能忍受的。

现在有了docker,只需要一行代码就能拉取所需软件的镜像,然后配置一个容器就启动了。需要开发的时候就打开docker,服务便能够运行。占用的空间也小,性能和原生差异不大。增删查改都只需要一行代码就能完成。卸载起来也毫无残留。更重要的是,我可以同时有一个镜像的几个容器。即使我搞坏了一个,也可以用其他的容器。还能随时监测这些容器的磁盘占用等状态

安装及使用

获取Docker

获取Docker 注意这个版本只支持win10以上,win7是没有hyperV虚拟机的

Docker.png

安装完成后,你在桌面上就获得一个可爱的鲸鱼图标,双击以后右下角就会出现docker的图标,稍等会提升docker is running

修改配置

配置文件.png

首先修改使用的CPU数, docker占用资源不大,这里随意。内存根据自己的实际需求来。然后是关键的镜像位置,默认在C盘,强迫症患者还是移到了其他盘

配置加速镜像

Docker的默认官方仓库在国外,因此想在国内使用需要配置镜像加速器,首推阿里云。每个人分配的地址是不一样的,只需要注册阿里云用户就会得到一个加速地址了。

安装MySQL

终端.png

搞定后在终端输入docker就能获得以下信息

// 搜索mysql的镜像信息
$ docker search mysql   
// 从仓库拉取mysql,mysql:tag 后面可以跟标签得到指定版本,不加默认为lastest
$ docker pull mysql    
// 从镜像生成容器,注意mysql需要指定登录的密码,以及通过-p 映射端口,必须要映射端口在能才物理机中访问到服务
$ docker run --name mysql  -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql 
// 访问容器内的终端
$ docker exec -it mysql bash

终端操作.png

注意事项

在双击Docker的安装的过程中,会让你打开VT虚拟化,现在的主流处理器都支持虚拟化功能,所以进BIOS打开就好了,重启电脑以后Docker就能正常使用了。 就是这样:)