コンテナ学習の管理Volumn(十七)

1375 ワード

Data Volumeには重要なアプリケーションデータが格納されており、volumeをどのように管理するかがアプリケーションにとって重要です.ここでは、volumeの作成、共有、および使用について説明します.このセクションでは、volumeのバックアップ、リカバリ、移行、および破棄方法について説明します.

バックアップ


volumeは実際にはhostファイルシステムのディレクトリとファイルであるため、volumeのバックアップは実際にはファイルシステムのバックアップである.
例えばローカルRegistryを構築する
すべてのローカルミラーはhostの/myregistryディレクトリに存在し、このディレクトリを定期的にバックアップします.

リカバリ


volumeのリカバリも簡単で、データが破損した場合は、前にバックアップしたデータを/myregistryに直接コピーすればいいです.

いどう


更新バージョンのRegistryを使用する場合は、次の方法でデータの移行に関連します.
  • docker stop現在のRegistryコンテナ.
  • 新しいバージョンのコンテナを起動し、mountの元のvolumeを起動します.
  • docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:latest
    

    破棄


    不要になったvolumeは削除できますが、自分が何をしているのかを必ず知っておく必要があります.volumeが削除した後、データは見つかりません.
    dockerはbind mountを破棄せず、データの削除はhostが担当するしかありません.docker managed volumeでは、docker rmを実行してコンテナを削除するときに-vパラメータを付けることができ、dockerはコンテナで使用したvolumeを一括して削除しますが、他のコンテナmountというvolumeがないことを前提に、データの保護を目的としており、非常に合理的です.
    容器を削除するときに-vを持っていない場合は?これにより孤児volumeが生成され、dockerがvolumeサブコマンドを提供してdocker managed volumeをメンテナンスすることができます.次の例を見てください.
    コンテナbboxで使用されるdocker managed volumeはdocker volume lsで表示できます.
    bboxを削除するには:
    -vを使わなかったのでvolumeが残っています.このような孤児volumeについてはdocker volume rmで削除できます.
    孤児volumeを一括削除する場合は、次の操作を行います.
    docker volume rm $(docker volume ls -q)