Docker Desktop ライセンスが変わり、個人利用か比較的小規模な事業者*1での利用に限った場合だけ、無料になりました。
# Docker CLI、Docker Engine は変わらず無料です。
というわけで、仕事をする PC で Docker Desktop を使ってお金払わないとライセンス違反になるのでアンインストールしたいのですが、Docker Desktop が WSL2 をサポートして以来、すっかりに頼ってきました。
特に Docker Desktop をアンインストールした場合、VSCode の devcontainer を使った作業ができなくなるのはつらいので、そこだけ早めに確認してみました。
ザックリ結論
- WSL2 に Docker Engine を入れる
- Windows 側の VSCode に Remote-Containers 拡張機能を入れる
- VSCode で開く作業フォルダーは、WSL2 の中のやつ
これをやっておけば、Docker Desktop がなくても、今まで通り devcontainer での作業ができます。
構築手順
そんなにやることないですが、一応まとめます。
1. Docker Desktop アンインストール
もしまだ Docker Desktop が入っていたら、通常の手順に従って完全に消し去ってください。
コントロール パネルから消せます。
2. Ubuntu on WSL2 に docker をインストール
お使いの WSL2 の distro に合わせてお好みで。
Ubuntu であれば、コマンドをコピペして apt
をガシガシたたいたら入ります。
WSL2 の bash から sudo service docker start
などを実行すると動き始めます。
むかーしは cgroup ?的な何か? (おぼえてない) の設定等も必要だった気もしたのですが、今はいらないみたいです*2。
VSCode の devcontainer で開く
Remote-Containers 拡張機能は必要です。既に使っているなら入っているままで問題ありません。
ポイントは、VSCode で作業フォルダーを開く時に、
\\wsl$\<ディストリビューション名>\PATH\TO\PROJECT\FOLDER
のように \\wsl$\<ディストリビューション名>\
以下のフォルダーを開くことです。
中身は、WSL2 の /
ディレクトリーですが、Windows からネットワーク フォルダーとして見えます。
ここを普通に Windows のフォルダーとして開いた後、Remote-Containers の機能で devcontainer で開きなおすだけです。
なお Git リポジトリーを clone して開く場合も、\\wsl$\<ディストリビューション名>\
配下のディレクトリーを指定して clone し、その後、Windows フォルダーとして開く -> DevConainer で開きなおす、という手順で開けます。
以上の手順で devcontainer が Docker Desktop なしで開けることがわかりました。
さよなら Docker Desktop 。今までありがとう。