WSL2にUbuntuをインストールしてDocker環境を構築する #
背景 #
以前はDocker Desktopのみを使用して開発を行っていましたが、Windows上のファイルをマウントしている場合、ファイルシステムの違いからか、ファイルの変更時にリロード系の動作が正常に動作しないという問題がありました。
そこで、WSL2上のファイルシステムを使用することで、この問題を解決できると考え、UbuntuをインストールしてそこからDockerを操作するように変更しました。
Ubuntuのインストール #
Microsoft StoreからUbuntuを検索し、インストールしました。
docker-composeがPermission Deniedになる問題 #
Ubuntu上で docker-compose up -d
コマンドを実行すると、Permission Deniedエラーが発生しました。
根本的な解決策としては、Dockerデーモンへの接続に必要な権限をユーザーに付与する必要がありますが、今回は sudo docker-compose up -d
コマンドを使用することで、一時的に問題を回避しました。
WSL2上のUbuntuを管理者で起動する設定 #
WSL2上のUbuntuを管理者権限で起動するように設定することで、ファイル操作時の権限問題を回避することができます。
以下の手順で、WSL2起動時のユーザーをrootに変更します。
-
Ubuntu上で以下のコマンドを実行し、rootユーザーのパスワードを設定します。
user$ sudo su - root$ passwd
-
PowerShellで以下のコマンドを実行し、WSL起動時のユーザーをrootに変更します。
ubuntu config --default-user root