見出し画像

【保存版】Dockerで「helloーworld」を実行してみよう!(terminalに表示されるまでの仕組みの理解)

先日、BlockBaseの勉強会で学習したことを元に、Dockerで「hello-world」を実行してみたので、こちらに記します。

①学習の目的

 Dockerで「hello-world」を実行することにより次のことを理解できます。

1.正しくインストールができているかの確認
2.teremial(コマンドプロンプト等)に表示されるまでの仕組み

②Docker内での「hello-world」の位置づけは?

公式ページを見てみましょう。

スクリーンショット (171)

Docker Official Images

↑こちらを確認すると、「hello-world」はDockerの公式な「images」の一つとして定義されているのですね。

スクリーンショット (172)

こちらの右の部分も見てみましょう。

Copy and paste to pull this image

「hello-world」「images」を利用するにはこちらのコマンドを打てばいいのですね。

docker pull hello-world

これで、レジストリから「hello-world」の「images」を持ってくることができました。

スクリーンショット (173)

このあたりについて、不明な場合には、こちらの記事もご確認ください。

③「hello-world」の実行

では、実際に実行してみましょう。

★Example Outputの部分★

$ docker run hello-world

↓ 結果はこのようになりました!

スクリーンショット (175)

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

⇒この「hello-world」を実行することで、インストールが適切になされていることを確認することができます。

④Dockerのterminalへ表示されるまでの仕組み

スクリーンショット (174)

To generate this message, Docker took the following steps:

そして、ここがポイントです。このメッセージが表示されるまで、Docker内で何が起こっているのかを説明しています。

④-1 「Docker client」⇔「Docker deamon」

1. The Docker client contacted the Docker daemon.

①「Docker client」が「Docker deamon」にcontact(通信)する

スクリーンショット (178)

④-2 「Docker deamon」⇔「Docker Hub」

2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)

②「Docker deamon」が「Docker Hub」から「hello-world」の「image」を持ってくる

スクリーンショット (179)

④-3 「Docker deamon」の「Container」作成

3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.

③「Docker deamon」が「image」から新しい「Container」を作る。なお、この「image」は実行ファイルを実行し、今のまさにこの部分を出力している。 

スクリーンショット (180)

★★★ちょっと雑談★★★
英語「executable」とは??

「executable」とは「executable file」の略で、「実行ファイル」を意味することが多く、拡張子「.exe」などのイメージです。(下のサイトが分かりやすかったです。)

https://wa3.i-3-i.info/word11896.html

★★★★★★★★★★★★

④-4 「Docker deamon」⇔「Docker client」

4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

④「Docker deamon」がこの③の出力を「Docker client」の「terminal(コマンドプロンプトなど)」に送っていく。

スクリーンショット (181)

ここまでがDockerでコマンドプロンプトに表示されるまでの流れです。

最後に全体像です。

スクリーンショット (182)

⑤ 「Ubuntu」とは

最後にこちらも見てみましょう。

To try something more ambitious, you can run an Ubuntu container with:

より挑戦を行いたいなら、次のコードで『Ubuntu』の「Container」を実行できます。

$ docker run -it ubuntu bash

『Ubuntu』ってなんでしょう。

スクリーンショット (176)

ここからわかることとして

①Docker Official Images

→『Ubuntu』もDockerの公式「image」の一つなんですね。

②Ubuntu is a Debian-based Linux operating system based on free software.

フリーソフトをベースとした、『Debian』をベースにしたLinuxのOSなのですね。

本日はこちらで以上となります。

なお、BlockBaseについては、こちらです。ご興味のある方はぜひ!


サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊