This is a script that is designed to make it easy to generate a new virtualbox vm since docker isnt necessarily ready for production due to security flaws.
vm_name="ubuntu-node1" \
&& vm_hd_size=4096 \
&& vm_ram=384 \
&& ssh_port=2201 \
&& iso_path= ~/vm-disks/ubuntu-14.04.3-server-i386.iso \
&& os_type= Ubuntu \
&& vdi_path="~/Virtual\ Box/${vm_name}.vdi" \
&& VBoxManage createvm --name $vm_name --register \
&& VBoxManage modifyvm $vm_name --ostype $os_type \
&& VBoxManage modifyvm $vm_name --memory $vm_ram --acpi on --boot1 dvd \
&& VBoxManage createhd --filename $vdi_path --size $vm_hd_size \
&& VBoxManage storagectl $vm_name --name IDE --add ide --controller PIIX4 --bootable on \
&& VBoxManage storagectl $vm_name --name SATA --add sata --controller IntelAhci --bootable on \
&& VBoxManage storageattach $vm_name --storagectl SATA --port 0 --device 0 --type hdd --medium $vdi_path \
&& VBoxManage storageattach $vm_name --storagectl IDE --port 0 --device 1 --type dvddrive --medium $iso_path \
&& VBoxManage modifyvm $vm_name --natpf1 "guestssh,tcp,,${ssh_port},,22" \
&& VBoxManage startvm $vm_name --type headless \
&& VBoxManage list runningvms