docker で Helloworld を出力する

この記事ではDockerを使ったことのない方に向けて、Dockerを使ってHelloworldを画面に出力する方法を紹介します。 まずはDockerがどのように機能するかを理解するために、いくつかの単純な Docker コンテナを起動して動かしてみましょう。

Docker入門 関連記事

dockerのhello world

dockerのhello worldは簡単です。 以下のコマンドをpowershellコマンドプロンプト、terminalのいずれかに張り付けて実行してみてください。 実行場所はこの場合は考慮しなくても問題ありません。

docker run debian echo "Hello World"

このコマンドを実行した後、以下のようなログが出現するはずです。(環境によって細かい数値は異なる可能性があります)


Unable to find image 'debian' locally
debian:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete
638fd9704285: Pull complete
61f7f4f722fb: Pull complete
Status: Downloaded newer image for debian:latest
Hello World

何はともあれ、最後のHello Worldが出現すれば成功です。

dockerのrunコマンドの構文

dockerのrunコマンドの構文は以下の通りです。

docker run  <オプション(-または--で始まる)>  <イメージ名>  <コマンド>

先ほどのdocker run debian echo "Hello World"に当てはめて解説すると

  • docker runはdockerのrunコマンドを使用することを表しています。
  • オプションはありません(-または--で始まる文字がないことに注目してください)
  • debianイメージ名に該当します
  • echo "Hello World"コマンドに該当します。

dockerのhello worldの解説

上記のコマンドで起きた事象をすべて解説します。 今回はhello worldと応答するdocker runコマンドを呼び出しました。

引数debianDebian Linuxディストリビューションの簡略版の名称のことです。

  1. 出力の最初の行Unable to find image 'debian' locallyは、Debianイメージのローカルコピーがないことを示しています。 (イメージが何かはここではあまり気にしないでください。コンテナを作るための設計書みたいなものと考えて構いません。)
  2. 次に、debianをDocker Hubオンラインで確認し、最新バージョンのDebianイメージをダウンロードしてきます。
  3. イメージがダウンロードされると、Dockerはイメージをコンテナを実行し、指定したコマンドを実行します(echo "Hello World") このコマンドを実行した結果は、出力の最後の行に表示されます。

Dockerはコンテナを起動して起動し、echoコマンドを実行してから、シャットダウンしました 発生した作業の量を考えると、この短時間での作業は驚くべきことです。

あなたが伝統的な方法で同じようなことをしようとした場合。つまりVMやVirtual Boxの場合、数秒、場合によっては数分待つことになります。

Dockerにはそれぐらいに威力が込められているのです。

dockerのコンテナ(linux)のなかに入る

Dockerでは実行したコンテナの中に入ることができます。 以下のコマンドを実行してみてください

docker run -i -t debian /bin/bash

以下のような対話形式のターミナルが出現すれば成功です。 これにより、コンテナ内に新しいコマンドプロンプトが表示されます。

$ docker run -i -t debian /bin/bash
root@622ac5689680:/# echo "Hello from Container-land!"
Hello from Container-land!
root@622ac5689680:/# exit
exit

docker run の -it オプションについて

フラグ-iと-tはDockerにあたかもリモートマシンにSSH接続するようにと伝えてます。

シェルを終了すると、コンテナは停止し自動的にシャットダウンします。