最近、Cygwin with aptcyg環境がごちゃごちゃしてきたので、見直しをはじめました。
WSLで環境構築を試みましたが、いまいち、Windows環境と連携取りにくく、これだと仮想環境と何も変わらないので却下しました。
色々検討してみた結果、MSYS2 で pacman を使うのがどうも便利そう…ということで、環境を整備してみました。
MSYS2 自体は chocolatey で入れて、一通り欲しいもはpacman で入れました。
そして、本題の docker …は、流石にMSYSではインストール出来ないので、Docker for Windows でインストールした docker を使用します。
TTY が必要だったり、パスの表記がMSYS2とWindowsで違うので、この辺を解決していきます。
まず、TTYが必要なので、
pacman -S winpty
でwinpty を入れて、.bashrc や .zshrc でパスとエイリアスを設定します。
export PATH=$PATH:/c/Program\ Files/Docker/Docker/resources/bin alias docker='winpty docker' alias docker-compose='winpty docker-compose'
これで、いい感じに docker が使えるようになりました☆
ただ、
docker -v `pwd`:/mnt -it alpine sh
こういうコマンドを書くと、うまく動きません…。実行しているのは Windowsのコマンドで、Windowsのパスを期待するのに、MSYSのパスが返るため…。
というわけで、cygpath に 絶対パス(-a)と、Windowsのパスを取得(-d)を与えて…
docker run -v `cygpath -ad .`:/mnt -it alpine sh
これで、いい感じにカレントを /mnt にマウントできました。
docker-compose で カレントをマウントするのは、そのままでも良い感じに動くようです。
コメント