Closed7

Docker用語メモ

ranran

イメージ

コンテナを作成するための指示が記載された読み取り専用のテンプレートです。
イメージを実行すると、1 つまたは複数のコンテナインスタンスになります。

コンテナ

アプリケーションを実行する分離された環境です。
コンテナは Linux でネイティブに稼働し、ホストマシンのカーネルを共有するため、軽量で、他の実行可能ファイルに比べメモリを使用しません。
なおカーネルはアプリケーションの代わりにCPUやメモリとのやり取りを行ってくれます。

ボリューム

ボリュームとは、Docker コンテナにおいて生成され利用されるデータを、永続的に保持する目的で利用される仕組みです。ホストマシンにデータが保存されるので、コンテナを停止してもデータが消えない。

ボリュームには名前付きボリュームと匿名ボリュームがある。
https://kinsta.com/jp/blog/docker-compose-volumes/

Dockerfile

公開されているDockerイメージをそのまま使うのではなく、必要なパッケージやアプリ、各種設定を含んだDockerイメージを自分で作成して使用するケースが出てきます。その場合、Dockerfileを作成し、それを使用して必要なDockerイメージを作成することができます。Dockerfileには、ベースとするDockerイメージに対して実行する内容を記述します。

ranran

Docker Engine

Docker Engine が 【 1部: 仮想化とは 】 で紹介したコンテナ型仮想化ソフトウェアの部分です。
これによりアプリケーションをコンテナとして扱うことができるようになります。

Docker のコンテナは Linux のカーネルと機能を使って動いているため、Docker Engine は Linux でしか動きません。

要約すると コンテナを乗せる部分 で、Linux で動く ソフトウェアです。

引用元: https://zenn.dev/suzuki_hoge/books/2022-03-docker-practice-8ae36c33424b59/viewer/1-3-docker#docker-engine-とは

ranran

Docker マシーン

Docker Machine は仮想マシン上に Docker Engine をインストールするツールであり、 docker-machine コマンドを使ってホストを管理します。Machine を使えば、自分のローカルの Mac や Windows 上に Docker ホストを作れるだけでなく、あなたの会社のネットワーク上や、データセンターや、AWS や Digital Ocean のようなクラウド・プロバイダ上でも作れます。

https://docs.docker.jp/machine/overview.html#docker-engine-docker-machine

ranran

Docker スワーム

Docker Swarm は Docker に対応するネイティブなクラスタリング用ツールです。Docker Swarm は標準 Docker API で操作できます。そのため、Docker ホスト群を集め、1つの仮想 Docker ホストとして扱えます。既に Docker デーモンと通信可能なツールであれば、Swarm を使うだけで、意識せずに複数のホストにスケール可能になります。以下のツールをサポートしていますが、これだけに限りません。

https://docs.docker.jp/swarm/overview.html

ranran

Docker Compose

複数コンテナのアプリケーションを定義・共有するために役立つように、開発されたツールです。Compose があれば、サービスを定義する YAML ファイルを作成し、コマンドを1つ実行するだけで、瞬時にすべて立ち上げたり、すべてを削除したりできます。
docker composeまたはdocker-composeコマンドで操作する
コマンド実行時には、カレントディレクトリのcompose.yamldocker-compose.yamlを参照する
ダウンロードするバージョンによって結構変わるので注意(後方互換はある)

compose.yamlで設定できるプロパティ↓
https://docs.docker.jp/reference/compose-file/toc.html

このスクラップは4ヶ月前にクローズされました