使用Docker搭建开发环境(windows篇)

安装Docker Toolbox

Docker Toolbox是一个完整的安装包,可以让你迅速在你的电脑上面搭建出Docker的运行环境,具体包含了若干个组件这里就不深究了(里面有包含VitualBox),下载的地址:
https://www.docker.com/products/docker-toolbox 。可能需要翻墙,如果下载有困难请和我联系!

安装起来非常简单,安装结束后,在桌面上会出现两个图标:
一个是命令行形式Docker终端,一个是图形界面的Docker操作工具。


Docker Quickstart Terminal
Kitematic

下载打包好的images文件

我已经把我们开发的环境完全搭建好(使用docker export导出的),大概1.8G的一个打包文件dev.tar.gz,复制到电脑里面即可。这个系统里面已经包含了ree和ruby2.1.4的开发环境,支持Oracle的连接。

导入到本地Image

打开Docker Quickstart Terminal,如下图所示:

Paste_Image.png

这里面就是一个linux风格的Docker环境,提示的IP:192.168.99.100就是Docker虚拟机的IP了。

docker images  #运行,显示当前的images,当然是为空了

然后使用

cat  dev.tar.gz| docker import - rcc_dev:leads

就可以导入images了,再次运行docker images 可以检查是否导入成功。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
rcc_dev             leads               9879d5e4e1ef        45 seconds ago      1.822 GB

创建一个运行环境(container)

要准备一个开发运行的环境,首先要创建一个共享的文件夹,这里要选择用户目录下面来创建,比如c:\user\webs,这个文件夹对应到Docker环境就是~/webs了。在这个文件夹中的文件,将会和运行容器中共享,通俗来说就是会和我们即将要跑的虚拟机共享。

执行命令:

 docker run --name rcc-dev-leads -i -t -p 3000:3002 -v ~/webs/:/var/www rcc_dev:leads /bin/bash

这个命令就是使用已有的Image来启动一个运行的容器(虚拟机),参数的意思:

--name rcc-dev-leads  # 给容器取一个名字,方便以后的重复使用
-i -t   #以交互形式启动
-p 3000:3002   #将虚拟机里面的端口映射出来,也就是访问192.168.99.100:3002就是访问虚拟机里面的127.0.0.1:3000了
-v ~/webs/:/var/www  #建立共享的目录,你就可以在windows中写代码,然后在Docker容器中运行代码了!

执行完这个语句,马上(瞬间)就会切换到容器的系统中了!

然后输入,就可以使用rvm的环境了:

source /etc/profile.d/rvm.sh
rvm list

这里要提醒一下,容器每次重新启动都需要输入source /etc/profile.d/rvm.sh,目前还没找到解决办法,因为容器本身有很多地方在重启后都会重置,例如/etc/hosts,修改后重启都会失效。

如果打开Kitematic,可以看到容器的运行状况:

3.png
2.png

启动、停止开发环境

你可以使用Kitematic来随时启动和停止容器rcc-dev-leads,也可以使用下面的命令来启动:

docker start rcc-dev-leads   #启动
docker attach rcc-dev-leads   #进入容器的命令行

你会发现Docker启动的速度是如此之快,让你完全感觉不到是在虚拟机中运行的,感觉Mac版的更好使用,当然最推荐在Ubuntu中原生使用Docker。

下一篇会介绍如果使用Docker迅速搭建Mysql、Solr、Redis等开发所需的环境。

推荐阅读更多精彩内容