Dockerコンテナのバックアップ方法

目的

Dockerのコンテナごとバックアップする方法について調査する

背景

  • Dockerコンテナの内容を破棄せずにそのまま現状維持で移行出来る環境を作りたい

結果

バックアップとしてはいくつか方法がある

イメージとして保存/読み込みする方法

下記のように、コンテナを一旦イメージ化した上で保存->読み込みする方法

docker commit ${CONTAINER_ID} ${IMAGE_NAME}
docker save ${IMAGE_NAME} > ${OUTPUT_PATH}
docker load ${OUTPUT_PATH}

コンテナをそのままtarにしてエクスポートしてしまう方法

下記のように現状のコンテナをtarにして出力->入力する方法

docker export ${CONTAINER_ID} > ${OUTPUT_PATH}
docker import < ${OUTPUT_PATH}

補足

  • CONTAINER_ID
    • docker ps -aで対象のIDを事前に調べる
  • IMAGE_NAME
    • お好きなイメージ名
    • docker imagesで確認できる
  • OUTPUT_PATH
    • 保存先。形式はtar