Python/R

Docker + VSCode + GitHub 開発環境構築 for Windows11

概要

Windows11において

  • Windows Subsystem for Linux 2(以下WSL2)
  • Docker Desktop for Windows(以下Docker)
  • Visual Studio Code(以下VSCode)
  • GitHub

を導入する手順を解説します。

導入手順

WSL2の導入

BIOSのCPUの仮想化設定の有効化

WSL2を導入する前にBIOSからCPUの仮想化設定を有効にする必要があります。

BIOSから設定変更する手順はCPUとマザーボードによって異なりますが、

筆者が使用しているASUSのマザーボードでは、

Advanced Mode > Advanced > CPU Configuration > Intel Virtualization Technology

から設定することができました。

仮想化が有効になっているかどうかは、タスクマネージャーの

パフォーマンス > CPU > 仮想化

から確認することができます。

Windowsの機能の有効化

WSL2を導入する前に「Windowsの機能の有効化」から「Linux用Windowsサブシステム」「仮想マシンプラットフォーム」 を有効にする必要があります。

直近ではWSL2導入時に自動で有効になるみたいですが、念のため手動で有効にしておきましょう。

コントロールパネルから設定する場合は、

プログラム > プログラムと機能 > Windowsの機能の有効化

から「Linux用Windowsサブシステム」「仮想マシンプラットフォーム」にチェックを入れ有効化します。

コマンドラインから設定する場合は、管理者としてPowerShellで以下を実行します。


# Windows Subsystem for Linuxの有効化
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# Virtual Machine Platformの有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Linux カーネル更新プログラムパッケージをインストール

以下よりLinux カーネル更新プログラムパッケージをダウンロードしインストールします。

手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする

WSLののデフォルトのバージョンを「2」に設定

WSLのデフォルトのバージョンを「2」に設定します。

こちらも直近ではWSL2導入時に自動で有効になるみたいですが、念のため事前に有効にしておきましょう。

管理者としてPowerShellで以下を実行します。


wsl --set-default-version 2

WSL2のインストール

WSL2のインストールを実行します。

Microsoft StoreよりUbuntu 20.04 LTSをインストールします。

コマンドラインからインストールする場合は、管理者としてPowerShellで以下を実行します。


wsl --install -d Ubuntu-20.04

WSL2のシステムのアップデート

初回起動し、ユーザー名とパスワードを設定した後、WSL2のシステムをアップデートします。

Ubuntu(WSL2)で下記を実行します。


sudo apt update
sudo apt upgrade -y

Docker Desktop for Windowsの導入

WindowsではGUIベースでDockerを操作できる「Docker Desktop for Windows」が提供されています。

公式サイトよりインストーラーをDLしインストールします。

Docker Desktopは個人利用もしくはスモールビジネス(従業員数250人未満かつ年間売上高1000万ドル未満)、教育機関、非商用のオープンソースプロジェクトにおいては無料で利用可能ですが、該当しない場合は有償のサブスクリプションプランに加入する必要があります。

VSCodeの導入

VSCodeのインストール

公式サイトよりインストーラーをDLしインストールします。

Remote Developmentのインストール

VSCodeの拡張機能「Remote Development」をインストールします。

コマンドラインからインストールする場合は、PowerShellで以下を実行します。


code --install-extension ms-vscode-remote.vscode-remote-extensionpack

GitHubの導入

SSH keyの作成

Ubuntu(WSL2)のユーザールート配下に.sshフォルダを作成し、フォルダ内にSSH keyを作成します。


mkdir .ssh
cd .ssh
ssh-keygen -t rsa -f id_rsa_for_github

秘密鍵の権限がオープンになっているので、所有者のみが閲覧・書き込めるように権限を変更しておきます。


chmod 600 ~/.ssh/id_rsa_for_github

configの作成

上記で作成した.sshフォルダ内に「config」ファイルを作成して下記のように接続情報を記載します。


Host github.com
    IdentityFile ~/.ssh/id_rsa_for_github
    User git
    IdentitiesOnly yes
    Compression yes

GitHubへSSH keyを登録

GitHubのアカウント設定から作成したSSH keyの情報を登録します。

SSH keyの設定は、

Settings > SSH and GPG keys > SSH keys > New SSH key

より設定することができます。

id_rsa_for_github.pubファイルの内容を下記の「Key」に丸ごとコピペします。

Ubuntu(WSL2)で下記を実行することで、問題なく接続することができるか確認することができます。


ssh -T git@github.com

コンテナ内にSSH keyを転送する設定

Ubuntu(WSL2)にopenssh-clientとsocatをインストールします。


sudo apt install openssh-client socat

そしてUbuntu(WSL2)よりコンテナ内にSSH keyを転送するために下記のように.bash_profileに記載します。

これによりbashをログイン時にssh-agentが自動的に起動するようになります。


if [ -z "$SSH_AUTH_SOCK" ]; then
   RUNNING_AGENT="`ps -ax | grep 'ssh-agent -s' | grep -v grep | wc -l | tr -d '[:space:]'`"
   if [ "$RUNNING_AGENT" = "0" ]; then
        ssh-agent -s &> $HOME/.ssh/ssh-agent
   fi
   eval `cat $HOME/.ssh/ssh-agent`
fi

ssh-add $HOME/.ssh/id_rsa_for_github

以上で導入手順は終了です。

最後までお読み頂きありがとうございました。

  • この記事を書いた人

Mira

広告系データアナリストの備忘録

-Python/R
-, , , , ,