WindowsでのDocker環境の構築について
8月から受託開発企業で Web エンジニアとして働いています。
それに伴い開発環境がmacOSからWindowsになり、四苦八苦しながら開発をしています。
今回Dockerを導入するにあたって色々と詰まったので書きます。
環境
- Windows 10 Home
結論
Vagrant上のUbuntu 18.04にインストールしました。
試した方法
1. Docker Desktop for Windows (旧 Docker for Windows)
Get started with Docker for Windows | Docker Documentation
Hyper-Vが必要なため、Homeエディションでは使えませんでした。
- System Requirements:
- Windows 10 64bit: Pro, Enterprise or Education (Build 15063 or later).
- Virtualization is enabled in BIOS. Typically, virtualization is enabled by default. This is different from having Hyper-V enabled. For more detail see Virtualization must be enabled in Troubleshooting.
- CPU SLAT-capable feature.
- At least 4GB of RAM.
引用元 : Install Docker Desktop for Windows | Docker Documentation
2. Docker Toolbox on Windows
Install Docker Toolbox on Windows | Docker Documentation
1の方法が使えない時に使う方法です。
docker
、docker-compose
コマンドともに動作はしましたが、docker-compose up
時にvolumes
で指定したフォルダがマウントされない問題が発生しました。
結局原因は分からず、エラーも出ないため手詰まりでした。
3. WSLにDockerをインストールする
docker-compose
が動きませんでした。
WSL2では動くそうです。
参考 : wsl2でdocker-composeの風を感じてみる - 無気力生活 (ノ ´ω`)ノ ~゜
Dockerインストール時には以下の点に注意しないと動きません。
- UbuntuはWindows Storeで無印のもの(16.04などバージョンがついていない)ものをインストールする。
- Ubuntuは毎回管理者権限で起動する。
- Dockerは最新版ではなく CE 17.09.0を使用する。
4. Vagrant (Ubuntu 18.04)にインストールする
PCのユーザー名が日本語だったためインストールで手間取ったり、一度作成したVMが消滅しかけたりしましたが、現在は問題無く動いています。
vagrant up時に以前作ったVMが読み込まれない時の対処法(Windows) - Qiita
VSCodeのRemote Developmentを使って開発しています。
おわりに
Docker Desktop for Windowsを使いたかった。
WSLの登場でWindowsでの開発は楽になると思っていたので残念。
SSDをまっさらにしてArch Linuxを入れたい。