Virtualization Technology有効化
システムメニューより、タスクマネージャー
を開く(Windowsキー + x)
有効化されているか確認する。
有効化されていない場合、BIOSの設定を変更する
WSL有効化
システムメニューより、PowerShellを管理者権限で起動(Windowsキー + x)
Linux用Windowsサブシステム、仮想マシンプラットフォーム有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
完了後、再起動
Linux用Windowsサブシステム、仮想マシンプラットフォームのチェックがONになっている。
ファイル名を指定して実行にOptionalFeatures.exe
を入力して、Windowsの機能の有効化または無効化画面を開く
Linux Kernel Update Packageインストール
アップデートプログラムをダウンロード
-
ファイル(wsl_update_x64.msi)を実行し、インストール
WSLのバージョンを2に変更
システムメニューより、PowerShellを起動(Windowsキー + x)
wsl --set-default-version 2
Ubuntu20.04 LTSインストール
Microsoft Storeより、Ubuntu20.04 LTS
をインストールする。
Microsoft Storeを開く
Ubuntuを検索し、Ubuntu 20.04 LTS
を選択
インストール
Ubuntu 起動
ユーザー、パスワードを設定
データの取得先を日本に変更
sudo sed -i -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list
パッケージアップデート
sudo apt update && sudo apt upgrade -y
DNS変更
/etc/systemd/resolved.conf
に追記
sudo sed -i -e 's/#DNS=/DNS=8.8.8.8/' /etc/systemd/resolved.conf
sudoのパスワード入力なし
sudo visudo
<自分のユーザ名> ALL=NOPASSWD: ALL
dockerインストール
docker公式 GPG公開鍵 インストール
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
aptのリポジトリにDockerのリポジトリを追加
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
docker-ce (Community Edition) インストール
sudo apt update && sudo apt install -y docker-ce
cgroupfs-mountインストール
sudo apt-get install cgroupfs-mount
docker自動起動
sudo systemctl enable docker
docker-compose インストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
WSL起動時にdockerデーモンを起動
Windows上の任意の場所に、以下のシェルスクリプトを作成する。
改行コードはLF
とする。
#!/bin/sh
sudo cgroupfs-mount
sudo usermod -aG docker $USER
sudo service docker start
ファイル名を指定して実行にTaskschd.msc
を入力して、タスクスケジューラーを開く
設定項目 | 設定値 | 備考 |
---|---|---|
名前 | wsl2 docker | 名前は任意 |
最上位の特権で実行する | チェックON | 必須 |
- トリガータブ
新規ボタンにより登録画面を表示する
設定項目 | 設定値 | 備考 |
---|---|---|
タスクの開始 | ログオン時 | |
設定 | 特定のユーザー |
- 操作タブ
新規ボタンにより登録画面を表示する
設定項目 | 設定値 | 備考 |
---|---|---|
プログラム/スクリプト | wsl.exe | |
引数の追加 | /mnt/c/作成したパス | WSL(Linux)形式で指定 |
- 条件タブ
設定項目 | 設定値 | 備考 |
---|---|---|
コンピュータをAC電源に使用している場合のみタスクを開始する | チェックOFF |
- 設定タブ
設定項目 | 設定値 | 備考 |
---|---|---|
タスクが失敗した場合の再起動の間隔 | チェックON |
再起動
ログイン後、Ubuntuを起動し、dockerサービス起動確認
service docker status
* Docker is running
と出力されればOK
sudoなしでdockerコマンドを実行する
# dockerグループがなければ作る
sudo groupadd docker
# 現行ユーザをdockerグループに所属させる
sudo gpasswd -a $USER docker
# dockerデーモンを再起動する (CentOS7の場合)
sudo systemctl restart docker
# exitして再ログインすると反映される。
exit
参考
- https://docs.microsoft.com/en-us/windows/wsl/install-win10
- https://qiita.com/shukawam/items/baf094afec308f79575a#%E5%90%84%E7%A8%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A
- https://zenn.dev/o2z/articles/d1162bbeb5a5a2
- https://qiita.com/shukawam/items/baf094afec308f79575a#docker-%E3%83%87%E3%83%BC%E3%83%A2%E3%83%B3%E3%81%AE%E8%B5%B7%E5%8B%95