Dockerの用語集

目次

Dockerイメージ

Dockerコンテナを作成するためのひな型となるものです。
Dockerイメージは、アプリケーション、ライブラリ、設定ファイルなどのアプリケーション実行に必要なもの一式をまとめたものです。
出来上がったアプリケーションをDockerイメージとして保存して、別のサーバーに持っていくことで同じ環境(コンテナ)で別のサーバーで再現することができます。

Dockerコンテナ

Dockerイメージをもとに作成されるコンテナ型仮想環境のことをDockerコンテナ、または単にコンテナと呼びます。
イメージからコンテナを作成することで、何度でも簡単に同じコンテナ(仮想環境)を作成することができます。
コンテナ起動することで、あらかじめイメージにセットアップしたアプリケーションの機能を提供することができます。

Docker Hub

Dockerイメージを保存するための機能などを提供しているサービスです。
ベンダーや他のユーザーが作ったイメージも公開されており、公開されているイメージをダウンロードすることで様々なコンテナを起動することができます。
また、Docker Hubのようにイメージを保管するための機能を持ったものをレジストリと呼びます。

Dockerデーモン

Dockerの常駐型プログラムで、Dockerコンテナの作成やDockerイメージの作成などDockerに対する操作はこのDockerデーモンが受け取り、実際の処理を行います。
Docker DesktopやDocker ToolboxといったソフトをインストールすることでDockerデーモンが起動します。
Dockerデーモンが起動していないとDockerに対する操作を受け取れない為エラーになります。
そのため、もし停止している場合には事前に起動しておく必要があります。

Dockerクライアント

Dockerの利用者がDockerに指示を出すためのクライアントソフトの事を言います。
一般的にはdockerコマンドを用いてDockerに指示を出します。

ビルドコンテキスト

Dockerイメージをビルドする際にDockerデーモンに送信するホストOS側のディレクトリの事をビルドコンテキストと呼びます。
ホストOS側においてあるファイルをDockerイメージに内包する場合は、ビルドコンテキスト上のファイルが存在する必要があります。
ビルドコンテキスト上のファイルはビルド時に全てDockerデーモンに送信されるため、ビルドに不要なファイルは含めないことが推奨されています(ビルドコンテキスト上のファイルサイズが大きいとビルドの時間が長くなる為)。
ビルドコンテキストファイルがすべてイメージに取り込まれる訳ではないので注意してください。
あくまで一時的にDockerデーモンに送信されるだけで、どのファイルをイメージに含めるかどうかはDockerfileに定義します。

Dockerfile

Dockerイメージを作成するための指示書となる設定ファイルです。
DockerではデフォルトでDockerfileという名前のファイルがイメージのビルドに使用されます。(別名のDockerfileを使用することも可能です)
Dockerでビルドを行った場合は、Dockerfileに定義された内容を上から順位処理していき、最終的な状態の環境がDockerイメージとして保存されます。

Docker Compose

Docker Composeは、複数のコンテナからなるサービスを構築・実行する手順を自動的にし、管理を容易にする機能です。
Docker Composeでは、composeファイルを用意してコマンドを1回実行することで、そのファイルから設定ファイルを読み込んですべてのコンテナサービスを起動することができます。

ビルドキャッシュ

Dockerイメージをビルドした際に、イメージのレイヤーごとにビルド結果がキャッシュ(一時保存)されます。
このキャッシュの事をビルドキャッシュといいます。
Dockerfileを元にしたビルド内容に差がない場合、2回目以降ビルドした場合はこのビルドキャッシュが使用されるため、初回よりも早くビルドが完了します。
Dockerfileに変更があったり、関連するファイルに差があった場合は、ビルドキャッシュが使用されずに再度ビルドが行われます。

バインドマウント

DockerにおいてホストOS(Dockerデーモンが動作しているOS)上のファイルをコンテナに共有する機能をバインドマウントといいます。
ソフトウェアの開発時など、PCでソースコードを変更してDockerコンテナ上で実行したい場合などに、ソースコードのあるフォルダをコンテナにバインドマウントしてプログラムを実行するといった使い方がよくされます。

ビルド

Dockerの文脈において、DockerfileからDockerイメージを作成することをビルドといいます。

リポジトリ

Dockerの文脈では、Dockerイメージを保管するための入れ物をリポジトリといいます。
リポジトリにはタグ名の異なるイメージを複数保管することができます。

レジストリ

Dockerの文脈では、リポジトリを管理する場所のことをレジストリといいます。
リポジトリの作成など、リポジトリの管理機能を提供するサービスをレジストリサービスといいます。
レジストリの機能を提供するサービスとしては、Docker Hubなどがあります。
レジストリにDockerイメージを保存することで、異なる環境にイメージを移送することが可能になります。

タグ

イメージに付けることができるラベル名のことをタグといいます。
タグは自由な名前を付けることができます。
タグを明示しない場合は、latestというタグ名が使われます。

エイリアス

別名の事をエイリアスといいます。
例えば、実態としては1つのファイルでも、本来のファイル名とは別名で同じファイルを指すようにする場合、別名のことをエイリアスといいます。

サービス

マネージャーノードやワーカーノードで実行するタスクについて定義です。
サービスの作成時には、どのイメージを使い、コンテナ内でどのようなコマンドを実行するかといった情報を指定します。

タスク

サービスで定義された内容をノードで実行するための実行単位で、タスクが割り当てられたノード上であらかじめサービス定義したコンテナが起動します。

Kubernetes

コンテナオーケストレーションツールです。
オーケストレーションツールとは、主に複数のコンテナを効率よく管理するための機能が備わったツールの事です。
様々なコンテナが多数動作する環境において、使用するイメージ、コンテナへのCPUやメモリの割り当て、コンテナ停止時の復旧処理、パスワードなどの秘匿情報の管理、ストレージの割り当て、コンテナの稼働状況の監視等々、様々なことを考慮する必要が出てくる為、管理するのは難しくなります。
Kuberntesはこういったコンテナ管理の機能を持ったソフトウェアであり、コンテナを管理するための設定ファイルを書くことで、様々なコンテナ管理の機能を利用することができます。

この記事が気に入ったら
いいねしてね!

よかったらシェアしてね!
目次
閉じる