Dockerの基本

IT・プログラミング

WindowsでDockerを使ってHello Worldを実行する方法

Dockerはコンテナを使用してアプリケーションを簡単にデプロイ、管理するためのツールです。この記事では、Windows上でDockerを使って最初の「Hello World」コンテナを実行する手順を解説します。

Dockerのインストール

まず、Dockerをインストールする必要があります。

  1. Docker Desktopのダウンロード:
    公式Dockerサイトにアクセスし、Windows用のDocker Desktopをダウンロードします。
    docker download

  2. インストール:
    – ダウンロードしたインストーラを実行し、画面の指示に従ってインストールを完了します。
    – インストール中に、「Use WSL 2 instead of Hyper-V」オプションを選択することをお勧めします。




  3. Dockerの起動:
    – インストールが完了したら、Docker Desktopを起動します。
    – 初回起動時には、Dockerが正常に動作するために必要な設定が行われます。

Dockerの確認

Dockerが正常にインストールされているかを確認します。

  1. コマンドプロンプトを開く:
    – Windowsキーを押し、「cmd」と入力してEnterキーを押し、コマンドプロンプトを開きます。

  2. Dockerバージョンの確認:
    – 次のコマンドを入力し、Dockerが正常にインストールされているかを確認します。
    sh
    docker --version

    Docker version 20.xx.xx, build xxxxxxx のようなバージョン情報が表示されれば成功です。

Hello Worldコンテナの実行

次に、DockerのHello Worldコンテナを実行します。

  1. Hello Worldイメージのダウンロードと実行:
    – 次のコマンドを入力します。
    sh
    docker run hello-world

  2. 結果の確認:
    – 正常に実行されると、以下のようなメッセージが表示されます。
    sh
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    メッセージ全体は以下のようになります。
    sh
    Unable to find image ‘hello-world:latest’ locally
    latest: Pulling from library/hello-world
    c1ec31eb5944: Pull complete
    Digest: sha256:1408fec50309afee38f3535383f5b09419e6dc0925bc69891e79d84cc4cdcec6
    Status: Downloaded newer image for hello-world:latest

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
    (amd64)
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

    To try something more ambitious, you can run an Ubuntu container with:
    $ docker run -it ubuntu bash

    Share images, automate workflows, and more with a free Docker ID:
    https://hub.docker.com/

    For more examples and ideas, visit:
    https://docs.docker.com/get-started/
    “`
    このメッセージは、Dockerの「hello-world」コンテナを実行したときの結果を示しています。各部分が何を意味するのか、詳しく解説します。

メッセージの解説

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:1408fec50309afee38f3535383f5b09419e6dc0925bc69891e79d84cc4cdcec6
Status: Downloaded newer image for hello-world:latest
  1. Unable to find image ‘hello-world:latest’ locally:
    – ローカルマシンに「hello-world:latest」イメージが見つからなかったことを示しています。そのため、DockerはこのイメージをDocker Hubからダウンロードしようとしています。

  2. latest: Pulling from library/hello-world:
    – 「hello-world」イメージの最新バージョンをDocker Hubの「library/hello-world」リポジトリからプル(ダウンロード)していることを示しています。

  3. c1ec31eb5944: Pull complete:
    – イメージのプルが完了したことを示しています。ここでは一部のイメージ層(layer)が完了したことを示しています。

  4. Digest: sha256:1408fec50309afee38f3535383f5b09419e6dc0925bc69891e79d84cc4cdcec6:
    – ダウンロードしたイメージのハッシュ値を示しています。このハッシュはイメージの内容を一意に識別するために使われます。

  5. Status: Downloaded newer image for hello-world:latest:
    – 「hello-world:latest」イメージが正常にダウンロードされたことを示しています。

Hello Worldメッセージの解説

Hello from Docker!
This message shows that your installation appears to be working correctly.
  • 「Hello from Docker!」というメッセージは、Dockerが正しくインストールされ、動作していることを示しています。

Dockerが行った手順の説明

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
  1. The Docker client contacted the Docker daemon:
    – DockerクライアントがDockerデーモン(Dockerエンジン)に連絡を取ったことを示しています。

  2. The Docker daemon pulled the “hello-world” image from the Docker Hub (amd64):
    – DockerデーモンがDocker Hubから「hello-world」イメージ(amd64アーキテクチャ用)をプルしたことを示しています。

  3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading:
    – Dockerデーモンがそのイメージから新しいコンテナを作成し、そのコンテナ内で実行されたプログラムが現在見ている出力を生成したことを示しています。

  4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal:
    – Dockerデーモンがその出力をDockerクライアントにストリーミングし、クライアントがその出力をターミナルに送信したことを示しています。

追加情報

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
  • もっと高度なことを試したい場合は、以下のコマンドでUbuntuコンテナを実行できることを示しています。
    sh
    docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
  • Docker IDを取得して、イメージの共有やワークフローの自動化などができることを示しています。

Dockerの基本コマンド

以下はいくつかの基本的なDockerコマンドです。

  • コンテナのリスト表示:
    sh
    docker ps

  • すべてのコンテナのリスト表示(停止中も含む):
    sh
    docker ps -a


    イメージ一覧:
    sh
    docker images

  • コンテナの削除:
    sh
    docker rm <コンテナID>

  • イメージの削除:
    sh
    docker rmi <イメージ名>

  • コンテナの停止:
    sh
    docker stop <コンテナID>

まとめ

これで、Windows上でDockerをインストールし、Hello Worldコンテナを実行する手順が完了しました。Dockerはアプリケーションの開発、テスト、デプロイを簡単にする強力なツールです。今後は、Docker Hubにある他のイメージを使って、さまざまなアプリケーションを試してみてください。

参考リンク

タイトルとURLをコピーしました