1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コンテナで立ててるシステムのバックアップってどうやるの

Posted at

最初に

掲題の通り。
コンテナの勉強をしていた時に、ふと気になったので調べてみた。
あくまで構想なので実際に試してはいないです。

ぱっと目に付いたのがGitlabだったので、今回はコンテナで立てたGitlabのバックアップを取る想定で考えてみます。

このメモを読むにあたって欲しいもの

  • GitlabとDockerについての知識
  • コンテナについての知識
  • ディレクトリのmountとかについても知識があると嬉しい

前提条件

  • 想定している構造
    図1.png
    VMの中にGitlabの公式イメージを用いてコンテナを作成。
    GitlabのCIを用いてバックアップコマンドを定期実行するためには、Runnerも作る必要がある?(ちょっとよく分からないので一応記載)

本題

構想

ぱっと思いつく方法としては以下3つ。

  1. VMをバックアップ
  2. コンテナをバックアップ
  3. 中身(Gitlab)をバックアップ

一番よさそうだと思ったのは2だが、デイリーで回す場合ものすごく容量を食べてしまいそうな気が…
1はリストアが大変そうなので却下。
よって、いったんは3で調べてみる。

調査

まず、以下の情報が見つかった。

  • Gitlabはバックアップ用のコマンドがあり、それを実行するとバックアップをアーカイブとしてまとめてくれる。(便利!)
  • GitlabにはCIもあるので、定期実行も可能。
    ただし実行環境は別途必要になる。(Gitlab runnerというらしい)

それなら、

  1. コンテナ内でGitlab CIを実行
  2. バックアップコマンドを定期実行
  3. 2で作成したアーカイブを、マウントしたディレクトリに配置orCIでコピーコマンドを実行してコンテナ外に保持
  4. 同じコンテナ環境を作成して、3をリストア

でいけるのでは?
自宅のPCで試そうとしたら、PCがおんぼろすぎて動かなかった。
閉廷。

参考にさせていただいた記事

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?