3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2環境構築からdockerセットアップまで

Last updated at Posted at 2021-08-26

Virtualization Technology有効化

システムメニューより、タスクマネージャーを開く(Windowsキー + x)

image.png

有効化されているか確認する。

パフォーマンスタブの仮想化有効であること
タスク マネージャー 2021-08-25 23.05.37.png

有効化されていない場合、BIOSの設定を変更する

WSL有効化

システムメニューより、PowerShellを管理者権限で起動(Windowsキー + x)

image.png

Linux用Windowsサブシステム、仮想マシンプラットフォーム有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

完了後、再起動

Linux用Windowsサブシステム、仮想マシンプラットフォームのチェックがONになっている。
ファイル名を指定して実行にOptionalFeatures.exeを入力して、Windowsの機能の有効化または無効化画面を開く
image.png

Linux Kernel Update Packageインストール

アップデートプログラムをダウンロード
  1. ダウンロード

  2. ファイル(wsl_update_x64.msi)を実行し、インストール

WSLのバージョンを2に変更

システムメニューより、PowerShellを起動(Windowsキー + x)
wsl --set-default-version 2

Ubuntu20.04 LTSインストール

Microsoft Storeより、Ubuntu20.04 LTSをインストールする。

Microsoft Storeを開く

image.png

Ubuntuを検索し、Ubuntu 20.04 LTSを選択

image.png

インストール

image.png

Ubuntu 起動

image.png

ユーザー、パスワードを設定

image.png

データの取得先を日本に変更
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を入力して、タスクスケジューラーを開く

  • タスクを作成
    image.png

  • 全般タブ

設定項目 設定値 備考
名前 wsl2 docker 名前は任意
最上位の特権で実行する チェックON 必須

image.png

  • トリガータブ
    新規ボタンにより登録画面を表示する
設定項目 設定値 備考
タスクの開始 ログオン時
設定 特定のユーザー

image.png

  • 操作タブ

新規ボタンにより登録画面を表示する

設定項目 設定値 備考
プログラム/スクリプト wsl.exe
引数の追加 /mnt/c/作成したパス WSL(Linux)形式で指定

image.png

  • 条件タブ
設定項目 設定値 備考
コンピュータをAC電源に使用している場合のみタスクを開始する チェックOFF

image.png

  • 設定タブ
設定項目 設定値 備考
タスクが失敗した場合の再起動の間隔 チェックON

image.png

再起動

ログイン後、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

参考

参考

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?