Docker について要点まとめメモ


はじめに

この記事は徐々に追記するような形にしようと思っています。

最初から全てともいかないので、要点だけまとめて学ぶ機会があれば徐々に追記していこうと思います。


Docker とは?

ここらへんを読みました。

【図解】Dockerの全体像を理解する -前編-



特に↓が凄くわかりやすかったです。

Dockerだけでもないし、概要等を扱ってるわけではないですがどう使えるのかなどはとても参考になりました。

【登壇レポート】新卒一年目のSREがコンテナをデプロイできるようになるまでの道のり【JAWS DAYS 2019】

参考になりそう、そのうち読みたい

Docker入門(第一回)~Dockerとは何か、何が良いのか~

いまさらDockerに入門したので分かりやすくまとめます

難しいことは上記の記事に任せるとして、ざっくり何ができるのかをまとめると…

・アプリ等を動かすための環境構築がとても楽

・その環境を簡単に複製が可能→開発者ごとに逐一環境構築をするのに手間がかからない

・環境構築のための設定(後述)をGitHubのように(後述)グローバルに共有可能


Docker Image

どっかーいめーじ

前述した「環境構築のための設定」などの塊のことを指す。

後述する Docker File とどう違うねんってなったけども、こちらは概念的なものということで理解しました。

そしてこれらをグローバルに共有している場所が DockerHub です。

こちらも前述の通り、GitHub をイメージしてもらうと良い。

ソースコードの GitHub、DockerImage の DockerHub 的な。


Docker File

「環境構築のための設定が記載されたファイル」

Docker Image とほぼ説明が同じに見えますが一応定義的には違うみたい。

固有の DSL を用いて記載されているファイルで、コンテナの起動時に、ここに記載されているように環境を構築していってくれます。

内容を見るとわかりますが、要はバッチファイルのようなものです。

アレをダウンロードして、コレをダウンロードして、この設定値はこう設定して…そんなイメージで良いと思います。


DockerHub

Docker Image の GitHub。

多彩な Docker Image が揃っているため、このアプリを使いたい、くらいであればわざわざ自分で Docker Image を作らなくても DockerHub に大体置いてあります。ありがたや。

もちろんプッシュすることもできますので、取得した Docker Image を更に自分色にカスタマイズして共有することも可能。


ざっくりまとめ

まとめるとこう

・アプリ等を動かすための環境構築がとても楽

Docker Image を DockerHub から持ってきて、build、createするだけで環境構築終わり。楽!

・その環境を簡単に複製が可能→開発者ごとに逐一環境構築をするのに手間がかからない

これはコンテナ技術があってこそだけど、要は Docker Image の共有するだけで良いということ。凄い!

・環境構築のための設定をGitHubのようにグローバルに共有可能

逆に言えば世界から集まった Docker Image の中から自分好みのものを見つけて使うことができる。goodjob!

正直ただ使うだけだったらこれだけわかってれば使えると思います。

扱えるかというと…まあそれは追々学習していこうかと。

図ぐらいは追加しようか考え中…