目次

 

記事リンク

Step1: 今回の記事!

Step2: Blazor用Dockerfileの作成と実行

Step3: Docker HubにDocker imageをアップロードする

 

1. 概要

PCが変わる度に1から環境構築や、環境差異に応じたトラブルシュートをするのが面倒だったのでDockerを導入してみます。

とりあえずは、直近で必要だったDocker Desktopの導入~Blazor WebAssembly実行環境構築までの手順を備忘録として記載するつもりです。

この記事ではまず、Docker Desktopの導入/実行確認までを行います。

 

2. 実行環境

Windows 10 version 21H1 (OSビルド19043.1469)

 

3. 環境構築

基本的には以下公式手順に従って実行していきます。

https://docs.docker.com/desktop/windows/install/

3.1. WSL2を有効化する

WSL2を有効化することで、Windows上にLinux環境を構築することが可能となります。 今回はWindows上でLinux用のDockerコンテナを動作させたいのでこれをインストールする必要があります。

作業詳細は以下Microsoftドキュメントを参照

https://docs.microsoft.com/ja-jp/windows/wsl/install

管理者権限でPowerShellを開き、以下コマンドを実行します。

wsl --install

このとき、引数を追加することでインストールされるLinux ディストリビューションを変更することが出来ますが、今回は特に指定は無いためそのまま実行します。(既定ではUbuntuがインストールされます。)

無事インストール出来たら一度PCを再起動します。

wslインストール

3.2. Docker Desktopのインストール

以下から「Docker Desktop for Windows」をクリックし、Docker Desktopをインストールします。

https://docs.docker.com/desktop/windows/install/

※ インストール画面の設定として、「Install required Windows components for WSL2」にチェックが入っていることを確認して下さい。

DockerDesktopインストール

無事インストール出来たら「Close and log out」ボタンを押し、一度PCからログアウトします。

DockerDesktopインストール完了  

再度ログインするとService Agreement画面が表示されるので、チェックを入れて「Accept」します。

ServiceAgreement   その後、Docker Desktop画面にてチュートリアルが始まりますが、この時点ではスキップしてしまって良いです。

Skip tutorial

 

4. 動作確認

4.1. Docker Desktop

Docker Desktopを起動し、WindowsメニューバーのインジケータからDocker Desktopの状態を確認します。

「Docker Desktop Running」状態になっていればOKです。

Docker Running

4.2. Linux(Ubuntu)上でDocker環境の確認

上記環境構築でインストールしたLinux(Ubuntu)環境上で、Dockerイメージを正しく展開できるかを確認します。

「Ubuntu on Windows」もしくは「Windows Terminal」等でUbuntuへCLIアクセスします。

※ 初回アクセス時はAdminユーザ情報の入力を求められるかもしれません

以下CLI上で以下のコマンドを実行し、正しくversion情報が取得出来たらOKです。

docker --version

Docker Version

4.3. Docker imageの実行

上記で開いているCLI上で以下のコマンドを実行します。

docker run hello-world

しばらく待った後に、Hello from Docker! This message shows that your installation appears to be working correctly.のようなメッセージが表示されればOKです。

hello world

 

5. おわりに

今回はWindows上でのDocker Desktopの導入/実行確認までを行いました。

次回は、Blazor WebAssembly実行環境の構築方法について記載する予定です。