見出し画像

WSL2でUbuntuを使ってDockerを起動してみる #183日目


Windows環境でプログラミングしていると、Linuxとの環境の違いによる苦労が発生することがあると思います。そこで、本日はWindowsでLinuxを存分に活用できるWSL2で、Ubuntuを使ってDockerを起動するところをまとめてみたいと思います。

Docker Desktopは自体は既にインストールされている前提での解説です。


WSL2とは?

Windows Subsystem for Linuxの略で、Windows上で動作するLinuxの実行環境を指します。WSL1もありますが、WSL2は進化版で、仮想マシンによって「完全なLinux」を動作させられるようになりました。

後述しますが、パスを入力すればちゃんとファイルシステムでも確認できるようになっていて、同じPCの中に別世界があるような感じで結構面白いです。


WSL2のインストール

基本的にこちらのサイトに沿って進めれば問題なくインストールできます。

ちなみにWLSではUbuntuは自動でアップデートされないので、使う時は以下コマンドから始めます。

sudo apt update && sudo apt upgrade



DockerとUbuntuの接続

Docker Desktopの設定 → Resources → WSL INTEGRATIONでUbuntuを有効にして再起動すればOKです。


Ubuntuはどこのフォルダに存在しているのか

Ubuntuはスタートボタンから起動でき、コマンドプロンプトのように使うことができます。ただ、これだと何がどこで動いているのかよく分かりません。

まず、Ubuntu自体はディレクトリのパスに「\\wsl$」と打ち込んだ先で確認できます。ちなみにdockerもここに入っていました。

そして(cdする前の)Ubuntuコンソールのホームディレクトリはこの先にあります。Ubuntu → home → ユーザー名のフォルダです。

ちなみにUbuntuからWindows環境にあるフォルダにもアクセスできます。以下のコマンドでcdすればOKです。この/mnt/cで、WindowsフォルダをUbuntuで触れますが、パフォーマンスは落ちるらしくあまり推奨はされていないようです。

cd  /mnt/c/パスを記載

また、Ubuntuのホームディレクトリには以下コマンドで戻れます。

cd ~


DjangoのサンプルアプリをUbuntu×Dockerで動かしてみる

こちらのサイトに記載されている手順で実行できました。

Ubuntuで、以下コマンドでgit cloneします。すると先ほどのホームディレクトリにフォルダが作成されます。

git clone https://github.com/mattwojo/helloworld-django.git

まずはフォルダにcdします。

cd helloworld-django

リモート WSL 拡張機能サーバーで実行されている VSCodeでプロジェクトを開きます。左下に「WSL: Ubuntu」のように表示されたらUbuntuと接続できています。

code .

あとは参考サイトにある以下の手順で進めればコンテナが立ち上がります。

https://docs.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-containers

立ち上がったら、Docker Desktopを確認してみてください。新しいコンテナが表示されているはずです。

また、いつも通りpython manage.py runsererで起動できます。
このアプリでは普通にlocalhost8000にアクセスすれば、テンプレートが表示されるようになっています。


Ubuntuでvenvの仮想環境を作ってみる

せっかくなのでUbuntuをもうちょっと使ってみます。
こちらを参考にしています↓

pipをインストールしておきます

sudo apt install python3-pip

肝心のvenvをインストールします。

sudo apt install python3.8-venv

先ほど作成したhelloworld-djangoフォルダにcdします

cd helloworld-django

仮想環境を作成します。

python3 -m venv .venv

仮想環境に入ります。

source .venv/bin/activate

シェルの先頭が(.venv)になっていれば仮想環境に入れています。こんなイメージです↓

試しに仮想環境でDjangoをインストールしてみます。

python3 -m pip install django

インストールできたら、pip listで表示させてみます。

無事にインストールされていました。
仮想環境から出る時は以下のコマンドです。

deactivate



色々動かしてみると面白いですね。
ここまでお読みいただきありがとうございました!!


参考


この記事が気に入ったらサポートをしてみませんか?