■ はじめに
https://dk521123.hatenablog.com/entry/2017/09/23/235818
の続き。 Windows上でDockerを使う機会があった。 前回行った方法と異なっていることが多かったのでメモ。 また、WSL2 が導入されたことにより、 Windows上でLinuxを動かしたりするのが、大分やりやすくなった。 (MacやChrome Bookを買おうとしてたけど、その必要なくなるかも...) ※2021/11/03追記 Docker Desktop がビジネスでは有料になったので 以下の関連記事に別方法を記載。
Windows 上で WSLコマンドを使って Linux 環境を構築
https://dk521123.hatenablog.com/entry/2021/11/03/003836
目次
【1】WSL2 1)WSL2 とは? 2)WSL2 コマンド 【2】Docker 環境設定 1)Docker Desktop のインストール 2)エラー「WSL 2 installation is incomplete.」が表示された場合 3)動作確認 4)【おまけ1】VS CodeからLinuxコマンドを実行する 【3】Hello world的なことやる 1)hello-worldイメージからコンテナを起動する 2)DockerでNginxを動かしてみる 【4】Linux(Ubuntu) 設定 1)Dockerで設定する 2)【おまけ1】「Microsoft Store」から設定する 3)【おまけ2】「Microsoft Store」が使えない場合に...
【1】WSL2
1)WSL2 とは?
* WSL2;Windows Subsystem for Linux 2 の略 => Windows 10上でLinuxを動作させるための仕組みであるWSLのversion2 * Docker Desktop をインストールすると、デフォルトでインストールされる * 以下のサイトの構成図と説明が分かりやすい
https://tech-lab.sios.jp/archives/21675
2)WSL2 コマンド
# | コマンド | 説明 |
---|---|---|
1 | wsl -l -v | インストールされているディストリビューション名/ステータス/バージョンを表示 |
2 | wsl -d <ディストリビューション名> | ディストリビューション開始 |
3 | wsl -t <ディストリビューション名> | ディストリビューション停止 |
4 | wsl --set-version <ディストリビューション名> |
WSLバージョンを設定 |
https://www.kdkwakaba.com/archives/948
【2】Docker 環境設定
1)Docker Desktop のインストール 2)エラー「WSL 2 installation is incomplete.」が表示された場合 3)動作確認
1)Docker Desktop のインストール
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
から、Docker Desktop (Docker Desktop Installer.exe)をダウンロードし、 インストールする ⇒ チェックボックスが2~3あるが、そのまま付けておく ⇒ インストール後、再起動する必要がある
2)エラー「WSL 2 installation is incomplete.」が表示された場合
* Windows再起動後に、以下のエラー内容が表示されたら、以下の対象方法を行う ⇒ 表示されていない場合は、Skipして、3)に移行 【対象方法】 * 以下をダウンロード(wsl_update_x64.msi)して、インストールする。 ⇒ インストール後に、Docker を再起動する ⇒ Docker Desktop is runningが表示されたらOK
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
エラー内容
WSL 2 installation is incomplete. The WSL 2 Linux kernel is now installed using a separate MSI update package. Please click the link and follow the instructions to install the kernel update: https://aka.ms/wsl2kernel . Press Restart after installing the Linux kernel.
参考文献
https://astherier.com/blog/2020/08/install-docker-desktop-on-windows10-with-wsl2/
3)動作確認
* 以下のコマンドを実行して、エラーがでないことを確認する # Dockerの確認 docker --version docker-compose --version # WSL2の確認 (ディストリビューション一覧を表示) wsl -l <出力結果例> Linux 用 Windows サブシステム ディストリビューション: docker-desktop (既定) docker-desktop-data
ディストリビューション | 説明 |
---|---|
docker-desktop | Dockerを動かすためのエンジン |
docker-desktop-data | Dockerイメージ/コンテナを格納 |
4)【おまけ1】VS CodeからLinuxコマンドを実行する
[1] VS Code で [Terminal]-[New Terminal]を選択 [2] TERMINAL の「+」ボタン押下し「Ubuntu(WSL)」を選択 [3] 試しに「grep --help」を入力し実行する
【3】Hello world的なことやる
* Hello world的なこととして、以下を行ってみる(任意) 1)hello-worldイメージからコンテナを起動する 2)DockerでNginxを動かしてみる
1)hello-worldイメージからコンテナを起動する
* コマンドプロンプトで、以下をコマンドする (hello-worldイメージからコンテナを起動するコマンド) ~~~~~ docker run hello-world ~~~~~
動作確認
# 動いているコンテナの確認 docker ps -a
2)DockerでNginxを動かしてみる
* コマンドプロンプトで、以下をコマンドし、Nginxを設定する ~~~~~ docker run --name hello-world-nginx -d -p 8080:80 nginx ~~~~~
動作確認
1) Docker を開き、「hello-world-nginx 8080」が表示されていることを確認 2) ブラウザで「http://localhost:8080」にアクセスする => 「Welcome to nginx!」が表示されたらOK
【4】Linux(Ubuntu) 設定
1)Dockerで設定する
1)Docker コマンドを入力
* 以下をコマンドする ~~~~ docker run -it ubuntu bash ~~~~
2)更新処理(確認の意味を込めて)
* 以下をコマンドする ~~~~ apt update apt upgrade ~~~~
3)後片付け
* Docker Desktop の GUIのゴミ箱アイコンから削除可能
2)【おまけ1】「Microsoft Store」から設定する
※ 以下のサイトが参考になる
https://qiita.com/zembutsu/items/22a5cae1d13df0d04e7b
1)「Microsoft Store」を開く
* Windowsマークの隣の検索枠に「Microsoft Store」を入力し、Enterキー押下
2)検索ボックスに「Linux」を入力
* 今回は、「Ubuntu」を選択 ⇒ そんだけ。 ※ 他にも「Debian」「OpenSUSE」などがあるので、お好みで。
3)動作確認
1) Windows のスタートメニューをクリックし、「Ubuntu」と入力 2) 初期設定として、Ubuntu のユーザ名とパスワードを指定 ⇒ これで、Windows上で、Linuxが動くようになる ⇒ コマンドで更新もできる ~~~~~ sudo apt update sudo apt upgrade ~~~~~ 3) コマンドプロンプトなどで、「wsl -l」を入力し、 「Ubuntu」が表示されていることを確認する。 >wsl -l Linux 用 Windows サブシステム ディストリビューション: docker-desktop (既定) docker-desktop-data Ubuntu << 増えとる なお、続き(以下の3)含めて)は、以下の関連記事を参照のこと。
Windows Terminalを使ってWindows上にあるUbuntuでDockerを使えるようにする
https://dk521123.hatenablog.com/entry/2020/12/10/094125
3)【おまけ2】「Microsoft Store」が使えない場合に...
* 社内ネットワークの都合上、「Microsoft Store」が使えない場合は 以下のサイトから落として、設定もできる ⇒ ***.appxファイルをダウンロードして、 各Linuxディストリビューションをインストールできる
Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする
https://docs.microsoft.com/ja-jp/windows/wsl/install-manual
関連記事
WSL2 ~ Docker-CE / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/14/224428
WSL ~ Docker-CE + Genie / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/03/003836
WSL2 ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/01/29/000000
WSL ~ Windows Terminal ~
https://dk521123.hatenablog.com/entry/2020/12/10/094125
Docker ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2017/09/23/235818
Docker ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/02/25/000000
Docker compose ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2022/04/28/000000
Docker compose ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/05/21/222910
Docker compose ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
Windows / Docker Desktop でのトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/12/11/115814