Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

起動できないコンテナからデータレスキュー

More than 3 years have passed since last update.

事象

kubernetes環境でnode1(Minionサーバ)がハード障害により再起動。
node1復旧後にコンテナ自体は再作成されましたが、その中にデータを永続化していないコンテナがあったため、DBが空になってしまった:fearful:

復旧に向けて

node1につなぎ以下を試みる。

コマンド 結果
docker start <コンテナ名> 起動せず
docker commit <コンテナ名> <イメージ名> DBデータのないイメージが作成された
docker inspect <コンテナID> コンテナ詳細情報...の中にDBデータへのパスが!
[root@hogehoge ~]# docker inspect 3f1ec342f66f
(省略)
"Mounts": [
        {
            "Name": "7e9049ff56d67dd8220977b683792969351a624c0df847af722b5e442aee6691",
            "Source": "/var/lib/docker/volumes/7e9049ff56d67dd8220977b683792969351a624c0df847af722b5e442aee6691/_data",
            "Destination": "/var/lib/mysql",
            "Driver": "local",
            "Mode": "",
            "RW": true
        },
(省略)

この情報でホスト側からデータを取得することができ、データをロストせずに済みました:sweat_smile:
コンテナにもよると思いますが、マウント設定していなくともデフォルトでされているのですね・・・感謝。
逆にマウント設定されていないコンテナの場合はdocker commitでデータもイメージに取り込まれるのかも知れません。

後で気づいた

テンパってて試さなかったけど、docker cpでディレクトリごとコピーもできるみたい。

nohhoso
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away