WSL2にdockerをインストールする

WSL2にdockerをインストールする

2023/3/12++
初版

概要

本記事は「WSL2でOSC受信する」の続編にあたり、
WSL2関連は設定は同じなので省略して、dockerのインストールについて記載する。

systemdを有効にする

WSL2のlinuxで以下を実行する:


sudo nano /etc/wsl.conf

#以下の内容に編集する
[boot]
systemd=true

設定を有効にするために
PowerShellで以下を実行してWSL2を再起動する。

wsl --shutdown

以下のコマンドで、
PID=1 が systemd であれば
正常に動作していることになる:


ps -e

PID TTY         TIME CMD
  1 ?        00:00:01 systemd
  2 ?        00:00:00 init-systemd(Ub
  5 ?        00:00:00 init
<省略>

インストール手順

WSL2のlinuxで以下を実行する:


sudo apt update
sudo apt upgrade -y
sudo apt install -y docker.io
sudo apt install -y cgroupfs-mount

# Dockerを起動する
sudo cgroupfs-mount
sudo service docker start

# バージョン確認
sudo docker version
Client:
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.18.1
 Git commit:        20.10.21-0ubuntu1~22.04.2
 Built:             Thu Mar  2 18:26:04 2023
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.1
  Git commit:       20.10.21-0ubuntu1~22.04.2
  Built:            Wed Feb 15 15:26:57 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.12-0ubuntu1~22.04.1
  GitCommit:        
 runc:
  Version:          1.1.4-0ubuntu1~22.04.1
  GitCommit:        
 docker-init:
  Version:          0.19.0
  GitCommit:

# 動作確認
sudo docker run --rm hello-world

#以下のメッセージが表示されればOKとなる。
#(実際には他のメッセージも表示される)
Hello from Docker!
This message shows that your installation appears to be working correctly.
#以下、省略

# Webサーバーが起動するようにnginxコンテナをpull/起動する
sudo docker run --name hogehoge -d -p 8080:80 nginx

Webサーバーの動作確認は、WSL2の設定として、localhostを無効にしているので
PCの外から見えるIPアドレスでアクセスする必要がある。

PowerShellの以下のコマンドで外から見えるIPアドレスを確認する:


ipconfig

例として、このIPアドレスが”192.168.0.8”の場合
http://192.168.0.8:8080/
にwindows側のwebブラウザーでアクセスする。

Webブラウザー画面に「Welcome to ngnix!」と表示されればOKとなる。

おまけ nanoで日本語が文字化けしている場合の解消方法

日本語の設定が不十分の場合、文字化けするようなので
WSL2のlinuxで以下を実行する:


sudo apt install language-pack-ja

#設定の確認
locale -a
C
C.utf8
POSIX
ja_JP.utf8

参考情報

ps関連:
【 ps 】コマンド――実行中のプロセスを一覧表示する
ps コマンドでよく使うオプションのメモ

docker関連:
Use docker containers without Docker Desktop in WSL2 with Ubuntu
Windows Subsystem for Linux(WSL)で Docker を利用する

WSLg関連;
WSLgアーキテクチャ
WSLg Architecture(原文)
WSLG/X11 and WayLand Applications in WSL
WSL2上のコンテナからWSLgを使用する
音が鳴らない(ALSAのエラーが出る)場合、PulseAudioの明示的インストールと環境変数設定をする

WSL2関連:
Linux 用 Windows サブシステムで Linux GUI アプリを実行する
Windows10のWSL(WSLg)でGUIアプリが動くようになった
Windows WSL2に外部から直接アクセスするための設定
【メモ】WSL2上のsshサーバに外部から接続する
「Windows Subsystem for Linux」が「systemd」に対応へ
ここが変だよ「WSL2」- 自作ディストロ開発で発見した知られざる“バグ”と“事実”
[WSL] ubuntu-wsl - WSL上のUbuntuをもっと便利するメタパッケージ

openFrameworks関連:
UbuntuでopenFrameworksの開発環境を構築する。

TouchOSC関連:
TouchOSCMk1
昔からあるTouchOSCで「MK1」付きに改名している
Open Sound Control
iPhone でスクリーンショットを撮る

以上

Go to Toplevel