🐳
[Docker] 少しだけ分かった気がする「イラスト付き」
はじめに
いつか Docker を覚えたいと思い、書籍や動画を見て学習しておりましたが、
アウトプットできるぐらいに少しだけ理解できたので執筆します。
内容は、当時自分が分からなかった内容を中心に書きます。
好きな食べ物はあんこです。
| 項目 | 内容 |
|---|---|
| 対象者 | ・Docker 初学者 |
| 伝えたい内容 | ・当時自分が分からなかった内容 |
Docker イメージとは?

解答:Docker コンテナを作成するためのスタンドアロンのパッケージです。
つまり、あんこのことです。
あんこがあれば、色んなあんこのスイーツが食べられます。
-
Q: スタンドアロンとは?
- A: 独立して動作すること
Docker コンテナとは?

解答:Docker イメージを実行するためのランタイム環境のこと
つまり、たい焼きのことです。
あんこ(Dockerイメージ)をもとに、たい焼きを作ることができます。
-
Q: ランタイム環境とは?
- A: ソフトウェアの実行に必要なランタイムコンポーネントやリソースが提供される実行環境のこと
Dockerfile ってなんで必要なの?

解答:Docker イメージから Docker コンテナをビルドするために必要です。
つまり、たい焼きのレシピにあたります。
あんこ(Dockerイメージ)を使い、レシピ(Dockerfile)に書かれている調理法(ライブラリのインストールなど)を行い、たい焼き(Dockerコンテナ)を作成する
下記のイメージのように様々なレシピ(Dockerfile)があれば、大好きなあんこのスイーツを作ることができます。

Python の Docker イメージの場合

Python の Docker イメージから...
-
TensorFlowに関する Dockerfile -> AI を動かす環境ができる -
djangoに関する Dockerfile -> Youtube のような Web アプリを動かす環境ができる -
Pandasに関する Dockerfile -> データ分析を動かす環境ができる
docker-compose.yml ってなんで必要なの?

解答:Docker Compose を使用して複数のコンテナを定義し、それらを組み合わせてアプリケーションの実行環境を構築するために必要です。
つまり、大好きなあんこのスイーツの詰め合わせセットを作ることができます。
Django/PostgreSQL の Docker コンテナの場合

上記のイメージのように複数の Docker コンテナ(django/PostgreSQL)を組み合わせた Web アプリを動かす環境を作成することができます。
Discussion