Dockerのnetworkとvolumeについて学んだので備忘録です。
用語解説
公式の用語解説がシンプルに難しいので、小学2年生向けに執筆しています。
Dockerのネットワークって何?
Dockerのネットワークは、Dockerのコンテナが他のコンテナやインターネットと通信するための道路のようなものです。コンテナはそれぞれ独立して動くので、それぞれが他のコンテナと情報を交換するためには、ネットワークが必要です。
おもちゃの車と道路を使って、Dockerのネットワークを考えてみましょう。あなたがおもちゃの車で遊んでいて、一つの部屋から別の部屋に移動したいとき、どうしますか?道路を使って移動しますよね。Dockerのネットワークも同じです。一つのコンテナ(おもちゃの車)が他のコンテナと情報を交換するためには、ネットワーク(道路)を通って移動します。
Dockerのネットワークの種類
Dockerのネットワークにはいくつかの種類があります。それぞれが異なる特性を持っています。
- bridge: これは最も基本的なネットワークで、Dockerを使うときによく使います。このネットワークを使うと、コンテナは自分専用の小さなネットワーク空間を持つことができます。
- host: これはホストマシン(Dockerを動かしているコンピュータ)のネットワークを直接使う方法です。このネットワークを使うと、コンテナはホストマシンと同じネットワーク空間を共有します。
- none: これはネットワークを全く使わない設定です。このネットワークを使うと、コンテナはネットワークに接続せずに動くことができます。
Dockerのボリュームって何?
Dockerのボリュームは、Dockerの中で動くプログラム(これをコンテナと呼びます)が作ったデータを保存するための箱のようなものです。コンテナは一時的なもので、消えるとその中のデータも一緒に消えてしまいます。でも、大切なデータは消えてしまうと困りますよね。そこでボリュームが役立ちます。ボリュームにデータを保存しておけば、コンテナが消えてもデータは消えません。
おもちゃの箱とおもちゃを使って、Dockerのボリュームを考えてみましょう。あなたがおもちゃで遊んだ後、おもちゃをどこにしまいますか?おもちゃの箱にしまいますよね。そして、また遊びたくなったら、その箱からおもちゃを取り出します。Dockerのボリュームも同じです。コンテナがデータ(おもちゃ)を作ったら、それをボリューム(おもちゃの箱)に保存します。そして、またそのデータが必要になったら、ボリュームからデータを取り出します。
Dockerのボリュームの種類
Dockerのボリュームにはいくつかの種類があります。
- Data Volume: これはDockerのコンテナが直接使うデータを保存するためのボリュームです。コンテナが消えても、このボリュームに保存されたデータは消えません。
- Data Volume Container: これは他のコンテナが作ったデータを共有するためのボリュームです。一つのコンテナがデータを作ってボリュームに保存すれば、他のコンテナもそのデータを使うことができます。
コマンド紹介
Dockerのネットワークコマンド
Dockerのネットワークは、コンテナ間の通信を管理します。以下に、Dockerのネットワークに関連する基本的なコマンドを紹介します。
- ネットワークの一覧を表示する
docker network ls
- 新しいネットワークを作成する
docker network create [ネットワーク名]
- ネットワークの詳細情報を表示する
docker network inspect [ネットワーク名]
- ネットワークを削除する
docker network rm [ネットワーク名]
Dockerのボリュームコマンド
Dockerのボリュームは、コンテナのデータを永続的に保存します。以下に、Dockerのボリュームに関連する基本的なコマンドを紹介します。
- ボリュームの一覧を表示する
docker volume ls
- 新しいボリュームを作成する
docker volume create [ボリューム名]
- ボリュームの詳細情報を表示する
docker volume inspect [ボリューム名]
- ボリュームを削除する
docker volume rm [ボリューム名]
以上です!