このサイトはアドセンスやアフィリエイト広告を利用しています

開発

wsl2とは?インストール方法 LinuxのUbuntuとDockerをセットアップ Windows11

Windows11でDockerやDocker composeを使いたいけど、わざわざDocker for Desktopを使わずなんとかしたい!と思った人向けの記事です

WSL2とはWindows Subsystem for Linux WindowsにLinux環境を構築するツール

Windows上にLinux環境を作りたいと思ったことはありませんか?わざわざ仮想環境を作って実行するのめんどくさいですよね。Windows 11のパワーシェルでLinuxコマンドを実行したいそんな事ができるようになります

WSLは主に以下のような用途で使用されます

  • Linux専用のコマンドラインツール、ユーティリティ、アプリケーションをWindows上で実行する
  • WindowsとLinuxの間でファイルを編集する
  • WindowsとLinuxの間でコードを開発し、ビルドする
  • Linuxのテスト環境をWindows上で実行する
  • Docker、Python、Node.jsなどのクロスプラットフォームツールを使用する

WSLは2つのバージョン、WSL 1とWSL 2があります。WSL 2は新しいバージョンで、実際のLinuxカーネルを使用しており、ファイルシステムのパフォーマンスが大幅に向上しています。また、Docker Desktop for WindowsではWSL 2をバックエンドとして使用することが推奨されています。

Windows Subsystem for Linux (WSL2) をインストールする手順

PowerShellを管理者権限で開きます。windowsのマークの上で右クリックしてターミナル(管理者)を選択

変更を加えるの画面が出たらOKですすむ

PowerShellが起動したら"Linux 用 Windows サブシステム" と "仮想マシンプラットフォーム" というWindowsの機能を有効にするために以下のコマンドを実行する

以下をそれぞれ1つずつ実行てください

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下のコマンドを実行するとdefaultでUbuntuをインストール 他のディストリビューションをインストールしたい場合は少し下にあります。

Windows11ならこのコマンドでWSL2がインストールされます

wsl --install

いかが表示されればOK

インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

PCの再起動をお願いします

再起動するとUbuntuの設定画面へ 表示されないとき

再起動して、Ubuntuの設定に進みますがもしも、表示されない場合は、ウィンドウズのメニューを開くとUbuntuがアプリに追加されているので、それをクリックして実行

ターミナルが起動すると、少し時間が立ってからUbuntuのユーザーネームを入力する項目がでます

名前とパスワードを入力すると下の画面が出て成功します。

別のLinuxディストリビューションをインストールした場合

下のコマンドを入力すると、インストールするディストリビューション一覧が表示される

wsl --list --online


wsl --install -d <Distro>を使用してインストールします。 を使用してインストールします

サンプル

wsl --install -d Debian

wsl2がインストールされてLinuxがインストールされているか確認する方法

wsl --list --verbose このコマンドを実行すると以下のように表示されればOK。複数ある場合、default設定のLinuxは名前の前に*がついていたらそれが実行中となります

WSL2でLinuxのディストリビューションを切り替える方法

defaultを切り替える場合のコマンド

wsl --set-default <Distro>

ただ実行したい場合は

wsl -d <Distro> コマンドで実行が可能です

Dockerのインストール方法

ターミナルでwsl -d Ubuntu を入力してUbuntuを起動します。

間違えないように1行ずつ入力していくことをおすすめします。

\のバックスラッシュがある場所は、次の行とつながっているので、\がある行と次の行は1行のコマンドとして同時に入力してください。わかりやすく開業を入れておいたので、改行されている部分ごと実行してください。もしかしたら、途中で\がない状態で開業されている場合があります。ブラウザの設定で。そのあたりを気をつけてください

sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

次にDockerをインストールします

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

もし選択肢が出たらYで実行

処理が終わったら docker version を実行

Dockerが動くかHello Worldの時間だ!!!

sudo service docker start でDockerを起動して

sudo docker run hello-world

下のコマンドも合わせてやっておくと便利です。Dockerコマンドをsudoなしで実行できるようになります。

sudo usermod -aG docker $USER

GitHubのDockercomposeのインストール

https://matsuand.github.io/docs.docker.jp.onthefly/compose/install

スクロールするとタブがあり、Linuxのタブをクリック

そして1の以下のコマンドを実行してDocker Composeの現時点での再診の安定版をダウンロードします。コピーして実行

よくわからない人向けバージョン2.4.1で良ければ下を1行ずつコピペ

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}

mkdir -p $DOCKER_CONFIG/cli-plugins

curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

Docker Composeがインストールされたら以下のコマンドを実行

実行バイナリに対して実行権限を与えます。とりあえずDocker Composeを使えるようにするおまじないだと思えばOK

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

特に何も表示なければ、OK!あとはdocker composeがインストールされたか確認!バージョンチェック

docker compose version

このように表示されればOK! もちろんこの記事以降にバージョンが更新されていれば、これよりも大きい数字になっています。※バージョンを指定していなければ

VSCodeのWSLの拡張設定

私の環境は主にVSCodeでWSL使うことを想定しているので、まず、VSCodeの設定を行います

VSCodeをインストールして、左のメニューに有るボタンをクリック

@exe:"wsl"で検索して下をインストール

そしてRestart to Updateをクリック

ファイルを移動させたりする方法はこちら

-開発
-