【コンテナ】Docker Desktop for Windowsの構築手順【仮想環境】

Windows

Docker Desktop for Windows の構築

以前、投稿した記事で Windows Subsystem for Linux 2(以下、WSL 2 と呼びます) を構築する手順を解説いたしました。WSL 2 の構築手順をご覧になりたい方はこちらをクリックしてください。

その中で、Ubuntu Server を例に Windows 上で Linux OS を動作させる手順を解説いたしました。また、その Linux OS で WordPress を動作させることも簡単ではありますが紹介いたしました。

今回は、次のステップとして WSL 2 を構築した Windows PC へ Docker Desktop for Windows を構築する手順を解説したいと思います。
また、Docker 検証の一環として、Docker イメージを構築し Web サイトを動作させてみたいと思います。

本稿を執筆していた「2021年9月1日」に Docker「4.0」がリリースされましたので、Docker のバージョンには 「4.0」 を使用します。


2021年8月31日に料金プランの変更に関して発表されました。

料金プランに関して、Dockerユーザーの半分以上を占めるオープンソースコミュニティ、個々の開発者、教育、中小企業(具体的には、従業員数が250人未満、年間収益が1,000万ドル未満)に関しては引き続き無料ですので、著者は個々の開発者あたるため無料で利用できます。

もし、それ以外の企業の場合は、有料プランとなりますのでご注意ください。(Proでは、1ユーザーあたり5ドルの料金が必要。)

詳しい改定内容をご覧になりたい方はこちらをクリックしてください。



スポンサーリンク

スポンサーリンク

スポンサーリンク

Docker Desktop for Windowsの環境

簡単ではありますが、 Docker Desktop for Windows を構築する前に環境に関して触れてみたいと思います。

Windows 10 Pro バージョン 21H2、OSビルド 19043.1165
WSL バージョン 2
Docker Desktop for Windows バージョン 4.0.0 (67817)


なお、Docker Desktop for Windows を構築する Windows PC には、Windows 10 Pro をインストールした仮想マシンを使用します。
また、仮想マシンは入れ子になった仮想環境(Nested Hyprer-V)で動作しています。入れ子になった仮想環境(Nested Hyprer-V)の構築手順をご覧になりたい方はこちらをクリックしてください。



Docker Desktop for Windows の構築

では、Docker Desktop for Windows の構築手順を解説いたします。


Docker Desktop for Windows の入手

まず、Docker Desktop for Windows のインストーラーを入手方法を解説いたします。


Docker の公式サイトからインストーラーをダウンロードします。

画像クリックで拡大画像を表示します

Docker の公式サイトに接続し、[Download for Windows] をクリックします。



エクスプローラにてダウンロードフォルダを開きます。

画像クリックで拡大画像を表示します

「Docker Desktop Installer.exe」がダウンロードされています。




Docker Desktop for Windows のインストール

続いて、Docker Desktop for Windows をインストール手順を解説いたします。


Docker Desktop for Windows の入手」でダウンロードした「Docker Desktop Installer.exe」を実行すると「Installing Docker Desktop」ウィンドウが表示されます。

画像クリックで拡大画像を表示します

[Configuration] にて、[Install required Windows components for WSL 2] がチェックされていることを確認し、[OK] をクリックします。


本稿では、WSL 2 をバックエンドで利用するため、[Install required Windows components for WSL 2] をチェックしています。
もし、Hyper-V をバックエンドで利用する場合は、[Install required Windows components for WSL 2] のチェックを外してください。

以下は、バックエンドに Hyper-V を利用したイメージです。

画像クリックで拡大画像を表示します

「DockerDesktopVM」という名前の仮想マシンが作成されています。



Docker Desktop for Windowsのインストールが完了すると、サインアウトが促されます。

画像クリックで拡大画像を表示します

[Close and log out] をクリックし、一度Windowsからサインアウトします。



Docker Desktop for Windows の起動

続いて、Docker Desktop for Windows の起動後の手順を解説いたします。


Docker Desktop for Windowsを起動すると、サービス契約の変更に関する情報が表示されます。

画像クリックで拡大画像を表示します

[I accept the terms] をチェック後、[Accept] をクリックします。



「dockerダッシュボード」ウィンドウが表示されます。

画像クリックで拡大画像を表示します

[Get started with Docker in a few easy steps!] にて、[Start] をクリックすると、チュートリアルが表示されます。また、[Skip tutorial] をクリックすると、チュートリアルがスキップされます。

本稿では、チュートリアルをスキップします。



「dockerダッシュボード」ウィンドウの [Containers / Apps] が表示されます。

画像クリックで拡大画像を表示します

インストール直後はコンテナは未作成です。

そのため、[No containers running] が表示されます。



Docker Desktop for Windows の検証

Docker Desktop for Windows の検証手順を解説いたします。


以下、4パターンの検証を実施します。

·hello-world コンテナを利用し、イメージやコンテナの実行検証を実施

·hello-world コンテナを利用し、イメージやコンテナの削除検証を実施

·Apache が格納された httpd コンテナを利用し、Web サイトの実行検証を実施

·Web サイトでのディレクトリマウントの検証を実施




コンテナの実行検証

まず、hello-world イメージを取得し hello-world の実行検証を実施いたします。


Windows PowerShell を起動し hello-world を実行するため、以下のコマンドレットを実行します。

docker run hello-world
画像クリックで拡大画像を表示します

hello-world コンテナが実行されました。


Windows PowerShell は、管理者として実行します。



次に、「dockerダッシュボード」ウィンドウの [Images] を確認します。

画像クリックで拡大画像を表示します

hello-world イメージが追加されます。



Windows PowerShell から、以下のコマンドレットを実行することで Docker イメージを確認することができます。

docker images
画像クリックで拡大画像を表示します

hello-world イメージが確認できました。



次に、「dockerダッシュボード」ウィンドウの [Containers / Apps] を確認します。

画像クリックで拡大画像を表示します

hello-world コンテナが追加されています。



Windows PowerShell から、以下のコマンドレットを実行することで Docker コンテナを確認することができます。

docker ps -a
画像クリックで拡大画像を表示します

hello-world コンテナが確認できました。

コンテナの実行検証は OK です。



イメージ、コンテナの削除検証

続いて、取得した hello-world コンテナ や hello-world イメージの削除検証を実施いたします。


イメージを削除する場合、「dockerダッシュボード」ウィンドウの [Containers / Apps] を開き、hello-world コンテナの横にあるゴミ箱アイコンをクリックします。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



なお、ゴミ箱アイコンをクリックすると、コンテナ削除確認メッセージが表示されます。

画像クリックで拡大画像を表示します

[Remove] をクリックします。



Windows PowerShell から、以下のコマンドレットを実行することで Docker コンテナを削除することができます。

docker rm [コンテナID]
画像クリックで拡大画像を表示します

hello-world コンテナが削除できました。



次に、イメージを削除する場合、「dockerダッシュボード」ウィンドウの [Images] を開きます。また、hello-world イメージのプルダウンメニューを開き、[Remove] をクリックします。

画像クリックで拡大画像を表示します
画像クリックで拡大画像を表示します



Windows PowerShell から、以下のコマンドレットを実行することで Docker イメージを削除することができます。

docker rmi [イメージID]
画像クリックで拡大画像を表示します

hello-world イメージが削除できました。

イメージの削除検証も OK です。



コンテナの実行検証(Web サイト)

続いて、httpd イメージを取得し Web サイトの実行検証を実施いたします。


Windows PowerShell から httpd イメージを取得するため、以下のコマンドレットを実行します。

docker pull httpd
画像クリックで拡大画像を表示します

httpd イメージが取得できました。



次に、Windows PowerShell から以下のコマンドレットを実行し Docker イメージを確認します。

docker images
画像クリックで拡大画像を表示します

httpd イメージが確認できました。




次に、Windows PowerShell から以下のコマンドレットを実行し Docker コンテナを実行します。

docker run -d -p 8080:80 httpd
画像クリックで拡大画像を表示します

httpd コンテナが実行できました。




次に、Windows PowerShell から以下のコマンドレットを実行し Docker コンテナを確認します。

docker ps -a
画像クリックで拡大画像を表示します

httpd コンテナが確認できました。





次に、Web ブラウザで ポート番号に8080番を指定し localhost に接続します。

画像クリックで拡大画像を表示します

httpd の確認ページが表示されました。

コンテナの実行検証(Webサイト)も OK です。


httpd コンテナの実行時、ポート番号に8080番を指定したため、localhost に接続する際にもポート番号に8080番を指定しています。



ディレクトリマウントの検証

続いて、Web サイトでのディレクトリマウントの検証を実施いたします。


「ディレクトリマウントの検証」でも「コンテナの実行検証(Web サイト)」で設定したポート番号を使用します。そのため、以下のマンドレットを実行し、httpd コンテナを、一度、停止します。

docker stop [コンテナID]
画像クリックで拡大画像を表示します

httpd コンテナが停止されました。



次に、マウントするディレクトリにテスト用の HTML ファイルを配置します。

画像クリックで拡大画像を表示します


マウントするディレクトリは、ホスト側、本稿の例では Windows PC となります。

本稿の例では、ホスト側のデスクトップに「html」フォルダを作成し「index.html」を配置しています。



次に、以下のコマンドレットを実行し、httpd コンテナを実行します。

docker run -v /c/Users/tamao/Desktop/html:/usr/local/apache2/htdocs -p 8080:80 -d httpd
画像クリックで拡大画像を表示します

httpd コンテナが実行できました。




コマンドレットの実行後に、Windows からファイル共有に関するメッセージが表示される場合があります。

画像クリックで拡大画像を表示します

[Close] もしくは [Don’t show again] をクリックします。




次に、Windows PowerShell から以下のコマンドレットを実行し Docker コンテナを確認します。

docker ps -a
画像クリックで拡大画像を表示します

新たに、httpdコンテナが追加されました。




次に、Web ブラウザで ポート番号に8080番を指定し localhost に接続します。

画像クリックで拡大画像を表示します

マウントしたディレクトリに配置したテスト用の確認ページが表示されました。

ディレクトリマウントの検証も OK です。



まとめ

以上が、Docker Desktop for Windows の構築と簡単な検証手順となります。

いかがでしたでしょうか。

今回は Docker Desktop for Windows の構築からですので、難しいことはやらず、慣れるために簡単なものから実施いたしました。
また、Windows PowerShell を使用してコンテナを構築しましたので、Windows PowerShell を常用している Windows ユーザーの方にも違和感はなかったのではないでしょうか。

Hyper-V などのハイパーバイザー型仮想化しか触れたことが無い場合、コンテナ型仮想化は、ややとらえずらい面もあるかとは思います。

例えば、コンテナ型仮想化は、ゲスト OS という概念がないため、Windows などの OS をインストールした仮想マシンが不要です。
ハイパーバイザー型仮想化は用途に合わせて仮想マシンを構築するので、1つのホストマシンで数台仮想マシンを構築するなんてことはざらです。
しかし、コンテナ型仮想化であればその必要はなく、Docker が構築できれば、あとは機能が含まれたイメージ(httpd や nginx、mysql など)をダウンロードしコンテナを追加または削除するだけの作業となります。
また、ハイパーバイザー型仮想化は仮想マシンを構築したあとに機能を追加し、また、設定変更が必要であったりと、環境ができあがるまでに時間がかかりましたが、コンテナ型仮想化であれば・・・言うまでもなく、素早く環境構築ができます。

用途によりますので、コンテナ型仮想化とハイパーバイザー型仮想化のどちらが優れているとは言えません。どちらにもメリット・デメリットがあります。
しかし、様々な仮想化技術を習得していれば、シチュエーションにあった仮想化が選択(提案)できるようになりますので、 ハイパーバイザー型仮想化を習得した次は、コンテナ型仮想化を習得してみてはいかがでしょうか。

もし、ハイパーバイザー型仮想化(Hyper-V など)に関しても詳しく知りたい方は、別の記事でまとめていますので、よろしければこちらをご覧ください。

次回は、Ubuntu イメージに Nginx をインストールしたオリジナル Docker イメージの作成手順を解説いたします。




本稿をご覧になっていただいている読者様の中で、もし、インフラエンジニアを目指している方、もしくはインフラエンジニアに興味がある方がいらっしゃれば、スクールで学ぶことも「あり 」です。
いくつかインフラ系の技術が学べるスクールをピックアップいたしましたので、ご検討の一助となれば幸いです。

 スクール  受講料  受講期間  ポイント
ササエル 19,800円 14レッスン 初級のインフラエンジニアに特化したオンラインスクールです。インフラエンジニアを目指すなら、まずはここから!?
98,000円 15レッスン 初級の次は中級も学べます。
TechAcademy [テックアカデミー] 174,900円(※1) 4週間プラン コースにより、若干、インフラ要素あり。また、学べる言語が細分化されているので、目的に合ったコースが選べます。
【CCNAコース ウズウズカレッジ】 33,000円/月 1ヶ月~ 応募資格を満たしていれば、無料特待プランで受講料が無料!?
初心者OK!KENスクール 187,000円(※2) 50時間 ネットワークコースのLinuxレベル1取得講座。Webサーバーの構築まで学べます。
119,900円(※2) 30時間 ネットワークコースのWindows Server構築講座。クライアントOSの管理操作を学べます。
※1.フロントエンドコースの料金です。学生の場合、料金は163,900円と割引があります。
※2.スクール提携企業特別割引の場合、受講料が10~15% OFF、入会金無料。学生割引特典の場合、全講座料金 20% OFF。





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



では。


スポンサーリンク

スポンサーリンク

Windows
スポンサーリンク
たまおをフォローする
スポンサーリンク
たまーのテクノロジー
タイトルとURLをコピーしました