常日頃から「世の中には難しいことが多い!」と感じる私が、様々な用語を、誰にでもなんとなく理解できるように、わかりやすく全力で解説します!
解説する用語
コンテナレジストリについて解説します。例えばGoogle Cloudでは、Artifact Registryというサービスがあります。Artifact Registryとは、コンテナレジストリを提供するGoogle Cloudのサービスです。このようなサービスを理解するためにも、コンテナレジストリとは何かについて見ていきましょう。
前提となる知識
・アプリケーションの仕組みがなんとなく分かる人
・クラウドがなんとなく分かる人
コンテナレジストリとは
コンテナレジストリとは、コンテナイメージを格納するための場所のことです。コンテナレジストリには様々なコンテナイメージが格納されており、イメージを取り出して使用したり、自分が作成したコンテナイメージを格納したりすることが出来ます。
コンテナとは?
コンテナレジストリを理解するためには、コンテナについて理解をすることが必要になるため、コンテナについて簡単に説明をします。
コンテナとは、アプリケーション開発をするための仮想環境を作ることが出来る技術です。コンテナを使用することで簡単に開発環境を管理すること出来ます。
ここでは、以下の図のようにコンテナという単位でデータやソフトウェアを管理することが出来るんだなくらいに理解していただければOKです。例えば、使わなくなったからPythonをアンインストールしたい場合はコンテナ1を削除します。またPythonを使いたくなった場合は再度Pythonのコンテナを作成すればよいので管理がとても楽になります。
dockerとは?
dockerとは、コンテナ技術を提供するプラットフォームのことです。「コンテナ=docker」と考えて良いです。
コンテナイメージとは?(dockerイメージとは)
コンテナイメージとは、コンテナの設計図のことです。以下の図のように、コンテナはコンテナイメージから作成されます。
コンテナレジストリについて具体的に説明するよ
コンテナイメージについてなんとなく理解できましたら、コンテナレジストリについて説明をします。
先ほども説明したように、コンテナを作成する際には必ずコンテナイメージを作成します。
このコンテナイメージを格納する場所がコンテナレジストリです。
コンテナレジストリにコンテナイメージを格納しておくと、コンテナイメージを修正した後に履歴を残してくれます。(バージョン管理というやつです。)
また、アプリケーションを開発する際にコンテナイメージをコンテナレジストリからダウンロードすることで、素早く開発に着手できます。コンテナレジストリにあるものを指定して、コンテナを作成することも出来ます。
コンテナレジストリには、以下の3種類があります。
パブリックレジストリ:みんなに公開するよ
プライベートレジストリ:限られた人にしか公開しないよ
クラウドサービスのレジストリ:クラウドサービス会社が提供しているよ
ちなみに冒頭でもお話しした、Artifact RegistryはGoogle Cloudが提供しているコンテナレジストリサービスになります。「Google Cloudでコンテナを使いたい!」という場合はArtifact Registryを使用すると良いでしょう。また、Artifact Registryにはコンテナイメージ以外にも様々なアーティファクトを格納することが出来ます。
もっとかんたんに説明するよ
例えば、わたあめ製造機の設計書があります。この設計書がdockerイメージだと考えてください。
この設計書は大切なので指定の棚に保存しておく必要があります。
この棚がコンテナレジストリです。
この棚に保存をしておけば、誰がどのタイミングで設計書を更新したかが分かります。
棚には、「誰でも見て良いよ」なやつと、「限られた人しか見ちゃいけないよ」なやつと、「他社が管理してくれるよ」なやつがあります。
設計書を大切に格納することが出来るため、わたあめ産業がより一層盛り上がることになるでしょう。
まとめ
コンテナレジストリとはコンテナイメージというコンテナの設計書を格納する場所のことです。
コメント