WSL2 + Ubuntu + Dockerで環境構築をする

アイキャッチ画像
  • WindowsでLinux環境(Ubuntu)を扱うには?
  • WSL2の使い方とは?
  • Ubuntu上にDockerをインストールしてするには?

本記事ではこのような疑問を解決します。


今回はWSL2 + Ubuntu + Dockerでの環境構築手順を解説していきます。

WindowsでのLinux環境構築に悩める方は必見です。

また、Dockerは不要という方も、
WSL2 + Ubuntuの環境構築をカバーしているため、ご参考にしてみてください。


それでは早速中身に入っていきます!

あわせて読みたい

エンジニアが副業を始めるには?エンジニアの副業にはどんな種類がある? 本記事ではこのような疑問を解決します。副業がブームになっている昨今、エンジニアほど副業をやりやすい職業はないでしょう。副業に関心があったり、副業をしてみたいと思っ[…]

アイキャッチ画像

WSL2でUbuntuをインストールする

まずは管理者権限でPowerShellまたはコマンドプロンプトを開きます。

以下のコマンドを実行してインストールできるLinuxディストリビューションを確認してみましょう。

> wsl --list --online

WSLインストール一覧

上記の中で今回はUbuntu20.04をインストールします。

> wsl --install -d Ubuntu-20.04

インストールが完了したら、PCを再起動します。

再起動後、自動でターミナルが立ち上がるので、
コマンドが入力できるようになるまで少し待ちましょう。


インストールが完了すると、Ubuntuアカウントの作成が始まります。

シェルに従ってユーザ名やパスワードの入力を行い、各質問に答えていきましょう。

特にこだわりがなければデフォルト値のまま、すべてYesの回答でOKです。


これでUbuntuが利用できるようになりました。


最後に、ターミナル内でのコピー&ペーストができるように設定を変更しましょう。
※デフォルトでは使用不可の設定

ターミナルウィンドウの上部で右クリックをして「プロパティ」を開きます。

「編集オプション」内の「Ctrl + Shift + C/Vコピー/貼り付けとして使用する」にチェックを入れて「OK」をクリックします。

これでターミナル内でコピペができるようになりました。

systemdを有効化する(プロセスのデーモン化)

2022年9月にMicrosoft社から「WSLにおいてsystemdが利用可能になった」という発表がありました。

今までもWSLにおいてsystemdは利用可能でしたが、
systemdを利用するためのパッケージをインストールするなどの手間がありました。

しかし、当該発表によってWSLでsystemdが簡単に利用できるようになりました。


それではsystemdを有効化していきましょう。

やることとしては、
設定項目を記述した設定ファイル(.conf)を作成して、
そのファイルをプログラムに読み込ませるだけです。


以下のコマンドを実行して設定ファイルを編集モードで開きます。
※わからなくなったら「vim コマンド」みたいな感じでググってみてください!

$ sudo vim /etc/wsl.conf

「i」キー(挿入モード)を押して下記のテキストを貼り付けます。

[boot]
systemd=true

テキストを貼り付けたら、保存をしてvimエディタを閉じましょう。

具体的には、「Esc」キーを押してノーマルモードに戻ったら、
「shift」キーを押しながら「z」キーを2回押すことで保存が完了します。


設定ファイルの作成が完了したら、Ubuntuを再起動して変更を反映させましょう。

PowerShellまたはコマンドプロンプトを開いて以下のコマンドを実行します。

> wsl --shutdown

以上でsystemdの有効化は完了です。


それでは実際にsystemdが有効化されたことを確認してみましょう。

再度Ubuntuターミナルを開き、以下のコマンドを実行して出力結果を確認します。

$ ps -ef

ps -efコマンド実行結果

※PID「1」のプロセスのCMDが「/sbin/init」であること

$ ls -la /sbin/init

ls -la :sbin:initコマンド実行結果

※「/sbin/init」が「lib/systemd/systemd」のシンボリックリンクであること
(/sbin/init -> lib/systemd/systemd)

これでsystemdが有効化されたことを確認できました。

あわせて読みたい

フリーランスエンジニアが案件獲得方法とは?自ら営業せずに案件を獲得するには?実務経験1年未満でも大丈夫なの? 本記事ではこのような疑問を解決します。これからフリーランスエンジニアとして独立したい方は、兎にも角にも案件の獲得が急務です[…]

アイキャッチ画像

Dockerをインストールする

Ubuntuが利用できるようになったら、次はDockerのインストールです。

ここからはaptコマンドを使用して、
他のUbuntuパッケージをインストールするのと同じように操作していきます。


なお、aptではサードパーティのパッケージをインストールする場合、
サードパーティのリポジトリ(パッケージの配布場所)をapt管理下に追加する必要があります。

今回インストールするDockerもサードパーティのパッケージです。


まずは以下のコマンドを実行して、Dockerのインストールに必要な他パッケージをインストールします。

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

次に、Dockerリポジトリを利用するための認証キー(GPGキー)を取得します。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

認証キーが取得できたら、Dockerリポジトリをapt管理下に追加します。

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable”

上記の操作でDocker(およびDocker関連パッケージ)をインストールする準備が整ったので、
インストールを実行します。

$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

最後にDockerおよびDocker Composeがインストールされていることを確認します。

$ docker -v
Docker version 23.0.1

$ docker-compose -v
Docker Compose version v2.17.2

これでDockerおよびDocker Composeが利用できるようになりました!

まとめ

以上がWSL2 + Ubuntu + Dockerでの環境構築の手順になります。

やったこととしては以下の通り。

・WSL2でUbuntuをインストールする

・systemdを有効化する(プロセスのデーモン化)

・Dockerをインストールする

「WSL2 + Ubuntu + Docker」の3トピックを目にすると少し億劫になりそうですが、
意外と簡単に環境構築ができたのではないでしょうか。


本記事があなたのお役に立てたら幸いです。