在Docker和Vagrant之间最终选择了后者,感觉Docker可能更适合做测试和部署些。原因:
- Vagrant有默认的共享文件夹,将开发目录放在共享文件夹下,方便在host桌面下对其做各种操作,查看、编辑等;Docker需要创建容器的时候命令行指定
- 各家为vagrant提供的box默认命令行提示符配置过颜色了,而Docker每次进入容器都得source一次。
- Docker和Host主机共享内核,所以如果做和内核相关的开发,比如在64bit机器上做32bit的开发,Docker比较难实现。
方法
安装virtualbox和vagrant。官网下载对应ubuntu发行版的deb包(如果用apt-get安装,可能会有vagrant不兼容virtualbox特定版本的问题),用
dpkg -i pkg_name.deb
安装。如果安装virtualbox时出现Error,执行
sudo apt-get install libsdl1.2debian
再重新安装virtualbox。虽然可以直接
vagrant init official_box
初始化开发环境,但是,国外的源,包括官方源,下载box的速度都是龟速。替代办法参见那些需要重新设置源的软件。执行
// 添加镜像,起个名字
vagrant box add your_devops_name path_to_base_box
// 创建开发目录
mkdir your_devops_dir && cd your_devops_dir
// 初始化环境
vagrant init your_devops_name
// 启动镜像
vagrant up
// 登录镜像
vagrant ssh