WindowsでのUbuntu/Dockerを使った開発環境構築[2021] part1

## 目的

忘れないように備忘録 and 誰かの役に立てば

## Policy

* ローカルは極力汚さない
* 手数をかけない
* ドキュメントもメモ程度
* 厳密さは放置

## 今回作成する環境

※全部文字なので気が向いたら図を入れます。

WSL2のUbuntuでpython開発環境用のDockerのコンテナを動かす。
コンテナにVisualStudioCodeのRemotoDevelopmentというExtensionを使ってアクセス。
コード自体はマウントしてWSL2ホストに置いた状態で編集できるようにする。

### メリット

なんかいい感じっぽい気がする。

### デメリット

導入で若干いろいろやることがある。
が、そこまで手間でもない。

## 手順

1. Docker desktop for Windowのインストール
1. WSL2のインストール
1. Ubuntuのインストール/設定
1. Dockerの設定（WSL2関連）
1. Visual Studio Codeのインストール
1. pythonの設定

## 手順詳細

### 1 Docker desktop for Windowのインストール
下記ドキュメント参照。
とくに何も意識せずにインストールできます。
https://docs.docker.jp/docker-for-windows/install.html

※最近はHyper-Vを動作させなくても動くみたいです。「仮想環境プラットフォーム」というそうな。
※併せて最新のWSL2のカーネル？かなにかもインストールされるっぽいです。
→※の※Docker Desktopをインストール時に下記のチェックボックスが出ます。
その時に"install required WIndows components for WSL 2"にチェックを入れることで、WSL2もインストールされたと記憶しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/f0201194-9382-39e2-0f11-be0221236cb1.png)
そんでもって、Dockerの初回起動時に下記のように「WSL2まだインストール終わってねーから指示にしたがって最新のカーネルにアップデートせいや」といわれるので、言われるがままにすることでWSL2もインストールされますはずですますはい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/30be687c-ac9d-ac7e-47d7-312557e831f0.png)


### 2 WSL2のインストール
たぶん、なにもしなくても入っていると思います。
Docker for windows様様。
ちょっと記憶を頼りに記述しているので、もし間違ってたらご指摘ください。

### 3 Ubuntuのインストール/設定
スタートメニュ（windowsキー押下）してstoreと検索しましょう。
そして「Microsoft Store」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/01f88ecf-0d45-3a37-372b-0f95d563b906.png)

Storeアプリ上右上の検索をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/cab135c2-f9a5-7c00-210b-268955bafd12.png)

ubuntuと入力するとversionごとに表示させるのでお好みで入れてください。
私は20.04LTSを入れました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/f6be32a9-8657-0c87-1a87-0845d0a49690.png)

ちなみにGUIのインストールに関しては今回は実施しません。
というか詳しくないですすみません。必要性も感じてないので。

クリックするとマイクロソフトアカウントを求められたりしますが基本スルーで実行できます。
終わったらUbuntuを起動してアカウントとパスワードの設定をしましょう。
個人的にはsuのパスワードも設定しておくとトラブったときに楽かと。
https://qiita.com/_toki/items/cced337d72103ed4387c

ただインストールしただけだとWSL2になっていない場合があるのでその場合はWSL→WSL2の変更をしましょう。
https://kb.seeck.jp/archives/16950

### 4 Dockerの設定（WSL2関連）
Dockerを起動し、初回の説明を聞き流したら右上の歯車マークを押してなんか設定したほうがよさそうな項目を設定しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/50c19525-b2c8-a76e-aa2f-3786de6b4010.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/69a2020b-1038-aa14-93c5-3280eadac1b0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/b2f5355e-10b3-69eb-3550-16ec2ce01290.png)

### 5 Visual Studio Codeのインストール
下記から「**windows**」にVSCodeをダウンロードしましょう。
https://azure.microsoft.com/ja-jp/products/visual-studio-code/

Extensionはお好みですが、今回は下記はインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1738780/2f822a3e-65d4-68f5-513f-f6c66b834551.png)

んでもって、「**ubuntu**」からVSCodeを起動します。
Ubuntu起動後に下記を打つとVSCodeが起動します。
```[username]@[pcname]:~$ code .                                                                                                                          
```

### 6 pythonの設定
ubuntuにはデフォルトでpythonやgitが入っています。
```[username]@[pcname]:~$  python3 --version
Python 3.8.10 
[username]@[pcname]:~$git --version 
git version 2.25.1                                                                                                    
```
ただし、pipのモジュールは含まれていないので追加が必要です。

```[username]@[pcname]:~$python3 -m pip upgrade pip 
/usr/bin/python3: No module named pip   
```
下記を参考にしました。
https://www.python.jp/install/ubuntu/pip.html


とりあえずこれで必要なものは最低限すべてそろいました。
続きやアップデートは気が向けば。。。