🐳

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

2023/07/05に公開

はじめに

いつか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アプリを動かす環境を作成する事が出来ます。

おわりに

最近暑くなりましたね。🍧が食べたくなります。

GitHubで編集を提案

Discussion