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 就能获得以下信息
终端操作. png
// 搜索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
注意事项
在双击 Docker 的安装的过程中,会让你打开 VT 虚拟化,现在的主流处理器都支持虚拟化功能,所以进 BIOS 打开就好了,重启电脑以后 Docker 就能正常使用了.
就是这样:)
来源: http://www.jianshu.com/p/746ed277c458