サイトアイコン 上尾市のWEBプログラマーによるブログ

Docker初心者必見!ボリュームマウントとバインドマウントの違いと使い分け

docker

概要

dockerではコンテナを削除するとデータが消えてしまうが、データを永続化することでコンテナが削除されてもデータを残すことができる。

データの永続化にはボリュームマウントとバインドマウントがあり、データが保存される場所が異なる。
公式では、データの移行やバックアップが容易なボリュームマウントが推奨されている。
ただし、開発環境ではファイルの変更をリアルタイムで反映できるバインドマウントを使うのが一般的である。

ボリュームマウント

ボリュームマウントとは

Docker Composeのファイル名は以前はdocker-compose.yamlであったが、現在はcompose.yamlが推奨されている

compose.yamlのサンプル(mariaDBの場合)

services:
  db:
    image: mariadb:10.7
    volumes:
      - db-data:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: hoge
      MARIADB_USER: taro
      MARIADB_PASSWORD: taro123
      MARIADB_DATABASE: sample
      TZ: Asia/Tokyo
volumes:
  db-data:

バインドマウント

バインドマウントとは

compose.yamlのサンプル(mariaDBの場合)

services:
  db:
    image: mariadb:10.7
    volumes:
      - ./db-data:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: hoge
      MARIADB_USER: taro
      MARIADB_PASSWORD: taro123
      MARIADB_DATABASE: sample
      TZ: Asia/Tokyo
モバイルバージョンを終了