Run vagrant commands like docker syntax
Just for fun! Or not... I created a command line tool to run vagrant commands like the docker syntax. Maybe you could find this stupid... But I have done Because I can!!! :P
- Vagrant https://www.vagrantup.com/
- Vagrant exec plugin https://github.com/p0deje/vagrant-exec
- Vagrant cachier plugin https://github.com/fgrehm/vagrant-cachier
- VirtualBox https://www.virtualbox.org/
Install this globally and you'll have access to the dockgrant command anywhere on your system.
npm install -g dockgrant
dockgrant run --rm --image hashicorp/precise64 --script "uname -a"
will output Linux precise64 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
vf=/tmp/dockgrant-sample &&\
mkdir -p ${vf}/data &&\
echo "echo hello \$VAR" > ${vf}/data/script.sh &&\
chmod x ${vf}/data/script.sh &&\
dockgrant run --rm --path ${vf} --volume ${vf}/data:/data --workdir /data -e VAR=world --image hashicorp/precise64 --script "sh script.sh"
will output hello world
If you're seeing this error when you're running the command is because the default vagrant network 192.168.1.0
is configured into your network card and collides with the vagrant private network:
The specified host network collides with a non-hostonly network!
This will cause your specified IP to be inaccessible. Please change
the IP or name of your host only network so that it no longer matches that of
a bridged or non-hostonly network.
You can define a new private network editing the config file of the program in: ${HOME}/.dockgrant/app.js
{
"ip_lock": false,
"last_ip": "192.168.1.8",
"private_network": "192.168.2.0"
}
https://www.vagrantup.com/docs/synced-folders/nfs.html
To configure NFS, Vagrant must modify system files on the host. Therefore, at some point during the vagrant up sequence, you may be prompted for administrative privileges (via the typical sudo program). These privileges are used to modify /etc/exports
as well as to start and stop the NFS server daemon.`