🐳

[Docker] 少しだけ分かった気がする「イラスト付き」

に公開

はじめに

いつか Docker を覚えたいと思い、書籍や動画を見て学習しておりましたが、
アウトプットできるぐらいに少しだけ理解できたので執筆します。
内容は、当時自分が分からなかった内容を中心に書きます。

好きな食べ物はあんこです。

項目 内容
対象者 ・Docker 初学者
伝えたい内容 ・当時自分が分からなかった内容

Docker イメージとは?

sweets_anko_pack

解答:Docker コンテナを作成するためのスタンドアロンのパッケージです。

つまり、あんこのことです。
あんこがあれば、色んなあんこのスイーツが食べられます。

  • Q: スタンドアロンとは?
    • A: 独立して動作すること

Docker コンテナとは?

sweets_taiyaki1_tsubuan

解答:Docker イメージを実行するためのランタイム環境のこと

つまり、たい焼きのことです。
あんこ(Dockerイメージ)をもとに、たい焼きを作ることができます。

  • Q: ランタイム環境とは?
    • A: ソフトウェアの実行に必要なランタイムコンポーネントやリソースが提供される実行環境のこと

Dockerfile ってなんで必要なの?

docker01

解答:Docker イメージから Docker コンテナをビルドするために必要です。

つまり、たい焼きのレシピにあたります。
あんこ(Dockerイメージ)を使い、レシピ(Dockerfile)に書かれている調理法(ライブラリのインストールなど)を行い、たい焼き(Dockerコンテナ)を作成する

下記のイメージのように様々なレシピ(Dockerfile)があれば、大好きなあんこのスイーツを作ることができます。
docker02

Python の Docker イメージの場合

docker03

Python の Docker イメージから...

  • TensorFlowに関する Dockerfile -> AI を動かす環境ができる
  • djangoに関する Dockerfile -> Youtube のような Web アプリを動かす環境ができる
  • Pandasに関する Dockerfile -> データ分析を動かす環境ができる

docker-compose.yml ってなんで必要なの?

docker04

解答:Docker Compose を使用して複数のコンテナを定義し、それらを組み合わせてアプリケーションの実行環境を構築するために必要です。

つまり、大好きなあんこのスイーツの詰め合わせセットを作ることができます。

Django/PostgreSQL の Docker コンテナの場合

docker05

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

Discussion