🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## Vagrant * vagrant 是使用 Ruby 开发,基于 VirtualBox 等虚拟机管理软件的接口,提供了一个可配置、轻量级的便携式虚拟开发环境。 * 使用 Vagrant 管理的虚拟机具有良好的可移植性,并且可以简单的使用配置文件 `Vagrantfile` 来配置虚拟机,缩短本地开发环境的搭建时间。 ## Docker * Docker 是一个的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上。 * 更快速的启动时间 * 一致的运行环境 * 更轻松的迁移 * 持续交付和部署 ## 一品开发环境 ### 目录结构 ~~~ docker_vagrant_centos7/ ├─bin/ 预装二进制目录,初次使用的时候会拷贝底下文件到虚拟机 /usr/local/bin │ ├─composer │ └─docker-compose ├─data/ 挂载到虚拟机 /data 路径 │ ├─nginx/ Nginx 配置目录 │ │ └─vhost/ Nginx 项目配置 │ └─scripts/ 辅助脚本,一般用来一键创建本地项目 │ └─teach.epweike.net.sh ├─provision/ │ └─bootstrap.sh 虚拟机首次创建时执行的脚本,用来执行一些初始化命令 ├─config.yaml.example 示例配置文件 ├─init.bat windows 初始化脚本 ├─init.sh linux 初始化脚本 ├─.gitattributes ├─.gitignore ├─Vagrantfile vagrant 配置文件 └─README.md README文件 ~~~ ### 启动流程 ![启动流程](https://box.kancloud.cn/cd3117ab4af249dd8ffc400cbcbf8cc6_726x650.png) ### 注意事项 * windows 必须要 powershell 版本大等于 3.0,所以在 win7 可能需要安装 powershell 更新,安装之前最好将电脑的补丁打完整,以免被利用 powershell 挖矿,导致电脑卡慢。 * windows 初始化文件 init.bat 必须使用管理员权限运行,否则可能会导致文件挂载在一段时间未使用自动断开。 * linux 下需要安装 NFS 服务来支撑目录映射。 * 宿主机挂载的路径不能包含空格和中文 ### 使用步骤 ``` # 1.检出项目 git clone http://git.epweike.net:3000/epwk/docker_vagrant_centos7.git # 2.windows 以管理员权限执行 init.bat,linux 执行 init.sh // 如果没报错,vagrant 会自动启动起来,如果报错了,可以协助提交 issue 或者提交 pull request。 # 3.连接虚拟机 vagrant ssh # 4.关闭虚拟机 exit // 退出虚拟机 vagrant halt // 关闭虚拟机 ```