Help us understand the problem. What is going on with this article?

WindowsでDocker Toolboxを使うために最低限やっておくこと

More than 3 years have passed since last update.

この記事で解決すること

  • docker run -v ... したとき flag -v: bad mode specified とか言われなくなる
  • vboxmanage が通るようになるので OSX ユーザーとの環境差異が縮まる

やること

  • Docker 系コマンドに alias で winpty を挟んでおく
  • vboxmanageVBoxManage.exe が叩けるようにしておく

実践

Docker 系コマンドに winpty を挟んでおく

flag -v: bad mode specified: のような、 Windows 特有のパスのせいで出るエラーの対処です。

%GIT_HOME%\etc\profile.d\aliases.sh の中でまとめて winpty を挟んでいる箇所があるので、そこに Docker 系のコマンドを追記しておきます。GitBash 内のパスで言うと /etc/profile.d/aliases.sh です。

%GIT_HOME%\etc\profile.d\aliases.sh
 case "$TERM" in
 xterm*)
    # The following programs are known to require a Win32 Console
    # for interactive usage, therefore let's launch them through winpty
    # when run inside `mintty`.
-   for name in node ipython php php5 psql python2.7
+   for name in node ipython php php5 psql python2.7 docker docker-compose docker-machine
    do
        alias $name="winpty $name.exe"
    done
    ;;
 esac

vboxmanageVBoxManage.exe が叩ける用にする

OSX だとパスが通ってるんですが、 Win だと通ってないのでやっときます。
先の手順でいじった %GIT_HOME%\etc\profile.d\aliases.sh に入れておくのが良いでしょう。

if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
  VBOXMANAGE=${VBOX_MSI_INSTALL_PATH}VBoxManage.exe
else
  VBOXMANAGE=${VBOX_INSTALL_PATH}VBoxManage.exe
fi
alias vboxmanage='"$VBOXMANAGE"'

なお、 VirutalBox を持っていない環境で Docker Toolbox を新規インストールした場合や、既存で持っていた VirtualBox が 5.0 以上の場合は

alias vboxmanage='"${VBOX_MSI_INSTALL_PATH}VBoxManage.exe"'

だけでもOKです。環境変数 VBOX_INSTALL_PATH は VirtualBox 4.x 時代のものです。


以上です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away