1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

これだけ知っていれば大丈夫。Docker の主要コンポーネント

Last updated at Posted at 2020-04-04

これだけ知っていれば大丈夫。Docker の主要コンポーネント

Docker_主要_01.jpg

これから本腰をいれてDockerを学習したいなと思っている人がDockerを学習すると、いろいろな単語出てきて混乱すると思いますが、最低限これだけ知っていれば、これからDockerを学習していく上で必ず役に立つと思いますので、下記のDockerの主要コンポーネントについて紹介ます。

  • Docker Engine
  • image
  • container
  • Repository (DockerHub)

Docker Engine(Docker エンジン)

Docker_主要_02_Engine.jpg

Docker EngineがDockerと言われているものの実態となり下記を含んでいます。

  • Docker Daemon
  • REST API
  • Docker CLI(クライアント)

Docker DaemonはLinuxの1つのプロセスとして起動し動作します。Docker を利用する際は、Docker CLIのコマンドを使ってDocker Daemonへの命令を行います。REST APIはDaemonとCLIの架け橋の役割を担っています。

image(Docker イメージ)

Docker_主要_03_image.jpg

imageとは、一言で説明すると読み込み専用(read-only)のテンプレートです。

ポイントは、read-onlyという点です。Dockerでは、このimageを基にcontainerを起動して利用します。詳細は後述しますが、今は、imageといのがread-onlyのテンプレートなんだという事だけ覚えておいてください。

container(Docker コンテナ)

Docker_主要_04_container.jpg

containerはimageを基に作成するアプリケーションの実行環境です。
Docker 公式のimageは数多くあるのですが、例えばDocker公式のapacheのimageがあるのですが、このapacheのimageからcontainerを実行すると、apacheを簡単に利用する事ができます。

公式のapacheのimageから起動したcontainerには、設定が何もなされていないので個別の設定を加えて利用します。

Dockerでは、変更を加えたcontainerを基に新しいimageを作成することが可能です。

containerの特徴としては、1つのimageから複数のcontainerを作成することができ、かつContainer間は互いに分離されるため、個々のcontainerを安全に実行することが可能です。

registry(Docker レジストリ)

Docker_主要_05_Registry.jpg

registryとは、imageを格納・配布する場所のことを指します。registryと混同しそうなコンポーネントとしてrepositoryがあります。

repositoryに関しては明確な定義はないですが、一般的には1つのアプリケーションのimageを管理し、TAGでバージョンを管理するのがrepositoryです。

registryは複数のrepositoryを管理する場所というイメージです。

通常はregistry に格納されているimageを自身のDocker Engine 上に持ってきてcontainerを起動し利用します。containerに設定を行い新しいimageを作成することが可能ですが、保存されるのは自身のDocker Engine上となり、このままでは自身のDocker Engine上でしか新しいimageを利用する事ができません。そこで、作成したimageをregistry上にアップすることが可能なのですが、そうすることで、作成したimageを別の任意のDocker Engine上で利用する事が可能となります。

Docker の公式レジストリサービス

Dockerの公式レジストリサービスとしてDocker Hubというサービスがあります。

Docker Hubで公開しているimageには、Dockerが公開しているOffical Imageとベンダーが公開しているVerified Publisherというimageがあり、2020年4月現在においては、Offical Imageとして161個、Verified Publisherとして305個のimageが公開されています。

Docker Hub の repositoryの種類

自身で作成したimageをDocker Hub にアップする際は、repositoryを作成しその中にimageをアップするのですが、Docker Hubには下記の2種類のrepositoryがあります。

  • Public repository(一般公開されるレポジトリ)
  • Private repository(一般公開されず、所有者しか利用できないリポジトリ)

用途に応じてPublicかPrivateを考慮しrepositoryを作成しましょう。

メジャーなレジストリサービス

Docker HubはDocker公式のレジストリサービスですが、他にもメジャーなレジストリサービスがあります。

  • Amazon Elastic Container Registry(AWS)
  • Container Registry(Google Cloud)
  • Container Registry(Azure)
  • Container Registry(Oracle Cloud)

メジャーどころのクラウドサービスも独自のレジストリサービスを提供しているので、ご自身の用途に合ったサービスを利用するとよいかと思います。

tips

チップスとなりますが、こちらのDocker blogの記事にある通り、2018年までは Docker Cloud、Docker Storeというサービスが利用可能でしたが、2019年からDocker Hubに統合されました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?