本記事は、Windows11にインストールしたコンテナ型仮想化環境プラットフォーム「Docker Desktop」のガイド『How do I run a container? 』を確認したメモです。
Docker Desktopのインストールはこちらの記事で、『What is a container?』のガイドの確認はこちらの記事で実施しています。
DockerはDockerfileというコンテナイメージの設計図を用いてコンテナイメージを作成できます。Dockerfileには作成元とするイメージの指定やファイルの配置、インストールするソフトなどの情報を記載します。これによって同じ構成のコンテナイメージを複数作成したり、他のDockerエンジン上でも作成することが容易になります。このように、インフラの構成をコード化することをInfrastructure as Code(IaC)といいます。

今回のガイド『How do I run a container』ではあらかじめ用意されたDockerfileからDockerイメージを作成し、Dockerコンテナを実行するまでを試します。なおDockerfileはGitHubからダウンロードするため、Gitを予めインストールする必要があります。Gitのインストールはこちらの記事を参考にしていただければと幸いです。
◆ ガイド2:How do I run a container? (2023年7月時点)
1.
Docker Desktopの左メニュー「Lerning Center」を選択し、「How do I run a container?」をクリックします。

2.
右側に「Dockerfileとサンプルアプリケーションを利用してDockerイメージを作成することを行いましょう」といったような内容が表示されます。
「Next」ボタンをクリックし、次のステップを見てみましょう。

3.
GitHubからリポジトリを複製します。Gitコマンドが利用できる必要がありますので、Gitをインストールしていない場合はこちらの記事を参考にインストールしてもらえればと思います。
一度、GitHubのURLを確認してみましょう。

4.
GitHubのURLを開くと以下の画像のようになっています。Dockerfileやその他のファイルが存在しています。

5.
表示されている ”git clone” コマンドを「Copy」ボタンでコピーします。

6.
コピーした ”git clone” コマンドを実行し、リポジトリを複製します。
git clone https://github.com/docker/welcome-to-docker
( git clone [複製したいリポジトリ] )

7.
カレントディレクトリ以下に「welcome-to-docker」フォルダができました。

8.
「welcome-to-docker」フォルダ内を参照すると、GitHub上のファイルが複製されていることがわかります。Dockerfileをテキストエディタで開いてみます。

9.
こちらがDockerfileの中身となります。ファイルコピーや必要なソフトウェアのインストール処理を定義していることが見て取れますね。

10.
「Next」ボタンをクリックし、次のステップを見てみましょう。

11.
「DockerfileをIDE(統合開発環境:Visual StudioやEclipseなど)で開いてみましょう。またDockerfileは必要に応じて自分で作成します」といったことが書いてあります。
今回はGitHubから複製したサンプルを利用します。中身としては先程テキストエディタで開いた通りです。そのまま「Next」ボタンをクリックし、次のステップを見てみましょう。

12.
「プロジェクトフォルダでCLI経由で ”docker build” コマンドによりイメージをビルドできる」といったことが書いてあります。
表示されている ”docker build” コマンドを「Copy」ボタンでコピーします。

13.
複製した「welcome-to-docker」フォルダ(リポジトリ)に移動し、コピーした ”docker build” コマンドを実行します。
docker build -t welcome-to-docker .
( docker build -t [作成したイメージの名前] [ビルドコンテキスト(Dockerfileに付随する一連のファイル)のパス] )

14.
DockerfileからDockerイメージがビルドされるまでしばらく待ちます。

15.
ビルドが完了したら、Docker Desktopの画面に戻ります。

16.
「Next」ボタンをクリックし、次のステップを見てみましょう。

17.
「ビルドが完了すると、Imagesメニューにイメージが追加されます。実行アイコンをクリックすることでコンテナを実行できます。オプション設定でポート番号を指定してください。」といったことが書いてあります。

18.
Imagesメニューを開き、今回作成したDockerイメージ「welcome-to-docker」の実行アイコンをクリックします。

19.
「Optional settings」を展開します。

20.
ポート番号を指定します。項番17の説明にて8089番が良いといったことが書いてあったので、「8089」を指定し、「Run」ボタンをクリックします。

21.
Containersメニューに移動し、新たにコンテナが起動します。
右側のガイドにて「Next」ボタンをクリックし、次のステップを見てみましょう。

22.
コンテナが起動したので、フォワーディングされたポートのリンクをクリックしてコンテナが実際に稼働しているか見てみましょう。

23.
以下の画面が出れば成功です。

24.
右側のガイドにて「Next」ボタンをクリックし、次のステップを見てみましょう。

25.
次のガイドとして、「Run Docker Hub images」を勧められますので、次回実施しようと思います。
今日はここまでとします、お疲れさまでした。

◆ 参考文献
・【Docker】Dockerfileとは|書き方・コマンド一覧・イメージ作成手順を徹底解説 (di-acc2.com)
・Infrastructure as Code(IaC)とは?インフラをコー…|Udemy メディア (benesse.co.jp)
・docker build | Docker ドキュメント (matsuand.github.io)
・【docker】ビルドコンテキスト(build context)とは? – 自由気ままに書いちゃおう (guri2o1667.work)