Table of Content
download docker toolbox for win
https://www.docker.com/products/docker-toolbox
- install to default location
- copy docker.exe, docker-machine.exe, docker-compose.exe to your msys2 /usr/local/bin
- uninstall docker toolbox for win
docker toolbox setting
1) make junction (directory hard link) for "Program Files", it will make easy to find VirtualBox tools
from cmd.exe
mklink /j C:\Program_Files "C:\Program Files" Junction created for C:\Program_Files > C:\Program Files mklink /j C:\Program_Files_x86 "C:\Program Files (x86)" Junction created for C:\Program_Files_x86 > C:\Program Files (x86)
2) place VirtualBox path in customized msys2 profile portabledevops.sh under /etc/profile.d/
The default docker home is based on $USERPROFILE, it is $USERPROFILE\.docker, full path like C:\Users\$USERNAME\.docker, I prefer change to msys local home: /home//.docker.
Here is setting lines for msys docker in portabledevops.sh:
if [ ! -d /home/$USERNAME ]; then
echo "First time to run bash, create home folder: /home/$USERNAME"
mkdir -p /home/$USERNAME
fi
export HOME=/home/$USERNAME
export USERPROFILE=$HOME
export HOMEPATH=$HOME
cd $HOME
export HOMEDRIVEL=$(cygpath -m $(pwd) |cut -d: -f1)
export HOMEDRIVE=$HOMEDRIVEL:
# portable docker toolbox for msys
export VBOX_MSI_INSTALL_PATH=/cygdrive/c/Program_Files/Oracle/VirtualBox/
export PATH=$VBOX_MSI_INSTALL_PATH:$PATH
alias dm=/usr/local/bin/docker-machine.exe
alias dc=/usr/local/bin/docker-compose.exe
denv(){
eval $(docker-machine env "$@")
}
export -f denv
docker test
1) create new docker machine
$ dm create --driver virtualbox --virtualbox-hostonly-cidr "10.0.10.1/24" msysdemo $ dm start msysdemo
2) setup env for docker client access
$ denv msysdemo denv only supports one machine, 0 or 2+ will get error as below: $ denv Error: No machine name(s) specified and no "default" machine exists. $ denv a b Error: Expected one machine name as an argument
3) docker client test
$ docker ps -a $ docker info $ docker run -it hello-world
4) ssh to docker vm
$ dm ssh msysdemo