イメージはどこから来るのか:作るか、取ってくるか
前のアニメモで、イメージは「インストール済みの小さな Linux のディスク」だと分かりました。では、そのイメージはどこから来るのでしょうか。入口は2つです。1つは自分で作る道。Dockerfile というレシピを書いて docker build すると、手元にイメージができます。もう1つは取ってくる道。レジストリと呼ばれる倉庫から docker pull で手元にダウンロードします。
自分のアプリのイメージは前者で作り、PostgreSQL や Node のような既製品は後者で取ってきます。そして自分で作ったイメージを docker push で倉庫に上げれば、他の人や本番サーバーが後者の道で取ってこられます。どちらの道で来ても、手元に置かれたイメージは同じもので、あとは docker run するだけです。
このアニメモでは、まず作る側(Dockerfile・build・レイヤーキャッシュ)を、次に取ってくる側(レジストリ・イメージ名・なぜ非公開か・CI との関係)を追います。



