部署和运行环境需要依赖 Docker 和 Docker Compose
1. Linux 下(推荐 Ubuntu)请参照官方文档进行安装配置:
官方文档: https://docs.docker.com/
配置: Linux下docker环境配置
2. Windows 下请使用 Boot2docker Vagrant Box:
项目地址: https://github.com/blinkreaction/boot2docker-vagrant
安装配置步骤如下:
- 安装 Babun (windows 下的模拟 linux 环境):
http://babun.github.io/
- 先卸载掉本机上的 VirtualBox, Vagrant
- 在 Babun 中使用下面的地址自动安装 Chocolatey (Windows 版本的 apt-get), VirtualBox, Vagrant
bash <(curl -s https://raw.githubusercontent.com/blinkreaction/boot2docker-vagrant/master/scripts/presetup-win.sh)
- 执行 vagrant -v,若提示安装 vagrant-triggers 等 plugin, 则需要进入下列 hack 步骤,否则请跳过:
用管理员权限执行 powershell, 执行
choco install ruby
choco install rubygems
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/从 rubygems.org 手工下载需要安装的 vagrant plugin 对应的 gem 格式文件(需要把地址从 https 改为 http),手工安装:
vagrant plugin install vagrant-triggers-****.gem
- 下载并配置 boot2docker 镜像:
在 babun 窗口中随便新建一个目录,如: mkdir projects,进入该目录并执行:
bash <(curl -s https://raw.githubusercontent.com/blinkreaction/boot2docker-vagrant/master/scripts/setup.sh)
- 在该目录下执行 vagrant up 就可以启动 boot2docker 虚拟机了
- [bug] 虚拟机的 ip 地址会变化,原因是网卡上绑定了一个 DHCP 服务器,解决办法:关闭虚拟机,使用VBoxManage 删除DHCP服务器,重启虚拟机(vagrant reload)
详细步骤:删除 DHCP Server
- 关闭虚拟机并拷贝已经配置好的虚拟机磁盘文件 box-disk1.vmdk 并修改 uuid:
vagrant halt
拷贝文件
修改虚拟机 projects_boot2docker.vbox 中的uuid:
<HardDisk uuid="{3fa718cd-88d2-4851-a648-759e7763b1d5}" location="box-disk1.vmdk" format="VMDK" type="Normal"/>启动虚拟机: vagrant up
- 虚拟机的 ip 是写死在 vagrant.yml 中的,是 192.168.10.10
- 启动虚拟机后也可以使用 root 来访问虚拟机,执行如下命令:
vagrant ssh
sudo -i
- 虚拟机里面 /mnt/sda1 目录下是永久磁盘,其它的目录 /home, /opt 等等都是在内存中存在的,关机即消失,所以数据要写入永久磁盘 /mnt/sda1
3. Mac 下的环境基本和 Windows 相同,详细请参照 boot2docker vagrant box 项目的官方文档
windows 使用docker
1. 启动/停止 boot2docker 虚拟机
2. 查看docker实例
3. 启动/停止/重启 docker 实例
4. 加载修改后的 war 包
- 以 root 用户身份进入虚拟机:
vagrant ssh
sudo -i
- 修改 war 包:
cd /mnt/sda1
cd iosp/integrated/data/app/crm/bin/
copy /home/steven/projects/crm-****.war .
- 修改 iosp/integrated 目录下的 Dockerfile 中的war包文件名
删除 /iosp/integrated/data/app/crm/tmp 目录下的临时文件
- 重启 crm 实例: docker restart integrated_crm_1
5. 修改 nginx 配置文件:
6. 访问应用(虚拟机的ip固定为 192.168.10.10):
注意: