見出し画像

Docker 入門 (5) - 名前付きボリューム

以下の記事を参考に書いてます。

Persist the DB | Docker Documentation

前回

1. はじめに

前回までのサンプルアプリでは、コンテナイメージからコンテナを開始するたびに、データが削除されていました。そこで、「名前付きボリューム」を使って、DBの永続化を行います。

2. ボリューム

ボリューム」は、コンテナの特定のディレクトリをホストのディレクトリにマウントする機能を提供します。コンテナの再起動時に同じディレクトリにマウントすることで、データを永続化できます。

主なボリューム種別には、「名前付きボリューム」と「バインドマウント」があります。

・名前付きボリューム : マウントするホストのディレクトリを指定しない。
・バインドマウント : マウントするホストのディレクトリを指定する。

3. 名前付きボリュームの使用

名前付きボリュームを使って、todoリストの永続化を行います。

(1)  「docker volume create」で、「名前付きボリューム」を作成。

$ docker volume create todo-db

Dockerダッシュボードで確認できます。

画像2

(2) 「名前付きボリューム」を指定して、コンテナを開始。
名前付きボリュームは、「-v ボリューム名:コンテナディレクトリ」で指定します。todoリストはデータを/etc/todos/todo.dbに保存しているため、バインドするコンテナディレクトリは/etc/todos/になります。

$ docker run -dp 3000:3000 -v todo-db:/etc/todos getting-started

引数は、次のとおりです。

-v todo-db:/etc/todos/ : ボリューム「todo-db」とコンテナの/etc/todosをバインド

(4) todoリストにいくつか項目を追加。
(5) todoリストのコンテナを削除。
(6) 再度、「-v」で「名前付きボリューム」を指定して、コンテナを開始。
(7) todoリストに項目が追加されていることを確認。

次回


この記事が気に入ったらサポートをしてみませんか?