Windows で開発するのはこれっきり辞めようと試みてみた。

# Windows で開発するのはこれっきり辞めようと試みてみた。
## ～はじめに（きっかけ）～

元々Dockerに興味はあったのだけれど、なかなか手を出せていなかったところ仕事で使う時がついにやってきてしまった。
そのためにはまず慣れておきたいと思ってちょっとずつ手を出し始めてきたころのこと・・・

さっき気づいた。
あれ？ Windows Terminal に WSLなくね・・・？
すなわち、wt に Ubuntu の項目ないやん！
下記の画像の場所のことを言っています。
**※出ていなかった時点の画像のスクショはありません。**
![Ｗindows で ＷSL2 (Ubuntu) ＋ docker compose 環境構築 - fleblog - Google Chrome 2022_08_20 13_05_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445915/3c8360eb-bb1c-5873-46dc-61c4b97c6839.png)

設定を追記すれば何とかなりそうなものの、新しく入れなおした方が速そうと思った。
それならいっそのこと作業ログを残しつつ心機一転しようと思った。
やっぱり Windows の中はゲームだけでいっか（？）という淡い気持ちもあったりなかったり。


## 1. PowerShellからWSLをインストール

```
wsl --install
```
ちなみに、僕はDockerとWSLがすでに入っていたので、下記の手順を踏んでからやりました。
1. Docker for windowsをアンインストール
1. wslを無効化
    ![キャプチャ 2022_08_20 13_14_45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445915/74a1ee4c-b024-27f3-0f55-2c385f873e36.png)
    ![Qiita - Google Chrome 2022_08_20 13_14_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445915/1d1ca15a-77f9-bd2b-8a88-85003f724103.png)
1. 再起動

余談ですが、スクリーンショットのショートカットに`Win + alt + Print Screen`があることを最近知りました。
僕の家の環境はトリプルモニターなので`Win + Shift + s`でウインドウ選択していました。
まぁ、あんまりスクショする機会もないかもしれませんが笑
仕事では重宝しそうなので覚えておきます。
てか、`Win + Print Screen`ってデュアルモニター以上の時に使用することあるんですか？？

## 2. wsl から Docker をインストール

wsl のインストールが終わり再起動をすると自動でターミナルが動いてくれました。
ユーザー名とパスワードを新規作成できるよう、任意の値を設定します。


docker の公式のコマンド通りやるだけです！
https://docs.docker.com/engine/install/debian/#installation-methods

### リポジトリを設定

1. アプデはこうして
    ```
    sudo apt update -y && sudo apt upgrade -y
    ```

1. 必要なものをインストールして
    ```
     sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    ```

1. 公式のGPGキーを取得しておく場所を確保して
    ```
    sudo mkdir -p /etc/apt/keyrings
    ```
1. DLして置いてみて
    ```
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    ```
    **※公式はdebianが前提のようだけれど、今回debianではなくUbuntuなのでリンクをUbuntuにする必要はある。**
1. リポジトリをセットアップすると。
    ```
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    ```

### どっかーえんじんをいんすとおおる
1. インストール
    ```
    sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    sudo apt update
    ```

1. 起動確認
    ```
    sudo docker container run --rm hello-world
    ```
    この時エラーになったのでとりあえずWSLを再起動したら治りました。

### sudoなんてつけていられない場合
```
sudo groupadd docker
```
なんか、既に存在するとか言われました。。。過去にやったやつ何か影響している・・・？
```
sudo usermod -aG docker $USER
```
とりあえずこれで Docker Engineが入ったと！
よしよし・・・
docker compose V2を入れていきます。
僕にとってはこっちがメインなのでいったん記事を分けます。
ありがとうございました！

## 誠に勝手ながら参考に致しました記事

- https://footloose-engineer.com/wsl2-ubuntu-docker-compose-setup/#toc3
- https://zenn.dev/fehde/articles/ea0e8a0a0a1de4
- https://docs.docker.com/engine/install/debian/#installation-methods
- https://chusotsu-program.com/1%E8%A1%8C%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7mkdir%E3%81%A8cd%E3%82%92%E5%90%8C%E6%99%82%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/
- https://qiita.com/wakki_haya/items/a00ecdc231e131b4d18d

皆さんこんな僕でも分かりやすい記事をありがとうございます！！