本文へスキップ
BecomeCoder

Dockerコース · 第6章 データを残す · レッスン19

docker volume ― データの保管庫を作る

ブラウザで完結

導入

ボリューム(volume) は、Docker が管理する「データ専用の保管庫」です。コンテナの外にあるので、コンテナを消してもボリュームは残ります。まずは保管庫そのものを作り、一覧し、中身を確認するコマンドから始めましょう。

説明

ボリュームは docker volume create <名前> で作ります。これは「データの入れ物」を用意するだけで、まだどのコンテナにもつながっていません。

flowchart LR
    V[("ボリューム dbdata<br/>コンテナの外の保管庫")]
    C1["コンテナ db(消える)"] -.マウント.-> V
    C2["新しいコンテナ db(作り直し)"] -.再マウント.-> V
    V --> N["データは生き残る"]

作った保管庫は docker volume ls で一覧できます。

docker volume create dbdata
docker volume ls

DRIVER local / VOLUME NAME dbdata のように表示されれば成功です。local は「このホストのディスク上に保存する」という標準のドライバです。

保管庫の詳細(実際にどこに保存されるか)は docker volume inspect で見られます。

docker volume inspect dbdata

Mountpoint/var/lib/docker/volumes/dbdata/_data のようなパス)が、Docker がデータを実際に置く場所です。ふだんは意識しませんが、「コンテナの中ではなく、ホスト側のこの場所に保存されている」ことが分かります。だからコンテナを消してもデータが残るのです。

やってみよう

  • docker volume create dbdata で保管庫を作り、docker volume ls で一覧に現れることを確認しましょう。
  • docker volume inspect dbdataMountpoint(実際の保存場所)を見てください。
  • もう1つ docker volume create uploads を作り、docker volume ls に2つ並ぶことも試しましょう。

実際に動かしてみよう

下の端末に docker コマンドを打って Enter を押すと、その場で結果が返ります。本文の手順を実際になぞりながら進めましょう(各レッスンは毎回まっさらな状態から始まり、「最初からやり直す」でいつでも戻せます)。

Docker(シミュレート)

ブラウザ内で docker コマンドを試せる学習用環境を読み込みます(本物のDockerではなく、動きを再現したものです)。
スクロールして表示された時点でも自動で読み込まれます。