LoginSignup
17
19

More than 5 years have passed since last update.

Data Volume Containerを使わないで永続化する方法(Named Volume)

Last updated at Posted at 2016-02-24

Data Volume Containerを利用する方法

データの永続化の為にデータを格納する専用のコンテナを作る以下の方法をあちこちで見かけますね。

例えばMariaDB用のデータコンテナなら

$ docker run --name mariadb_data -d -v /var/lib/mysql busybox true

といった作り方をされる方も多いかと思います。

あとはデータコンテナを利用したいコンテナ側で --volumes-from=mariadb_data オプションを付けて利用しますよね。

実はこれ、
わざわざデータコンテナを作らなくても良い方法があるんです

Data Volume Containerを利用しない方法

$ docker run --name mariadb -d -v mariadb_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret mariadb

といった感じで -v ボリューム名:/var/lib/mysql オプションを付けるだけでほぼ同じ事が実現出来ちゃうんです。

上記の方法をすると、ボリューム名で指定した名前のボリュームが存在しない場合は勝手に作ってくれるんです。

既に存在する場合はそのボリュームを/var/lib/mysqlにマウントしてくれます

$ docker volume ls
DRIVER              VOLUME NAME
local               mariadb_data
$ docker volume inspect mariadb_data
[
    {
        "Name": "mariadb_data",
        "Driver": "local",
        "Mountpoint": "/mnt/sda1/var/lib/docker/volumes/mariadb_data/_data"
    }
]

といった感じになります。
ホストOS側の上記Mountpointにデータが格納されてるのでバックアップ取るのも簡単ですね!

不必要になったのでボリュームを削除したい場合

$ docker volume rm ボリューム名

とすれば消せます。

快適なDockerライフを!

17
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19