Dockerコンテナ の gitlab で バックアップ ファイル を 作成 する

この記事では Dockerコンテナ で 稼働している gitlab の バックアップ ファイル 作成 について書きます。

Dockerコンテナ(docker-compose)でgitlabを無事起動することができました。

ソースコード をちゃんと管理 バージョン管理システム gitlab を 導入 commit08

いろいろ設定や実際にコミットしていきたいのですが最初にバックアップを作成しておきたいと思います。

バックアップコマンド

docker-composeの構成は以前の記事を見ていただくとして・・・

Dockerのgitlabにはgitlab-rakeというコマンドが用意されています。

今回はこの使ってバックアップします。

Dockerコンテナ内に入ってコマンドを入力することもできるのですが、大変なのでdocker-compose execを使用してホスト側からgitlab-rakeを使用します。

まずはdocker-composeファイルが存在するフォルダでpowershellを開きます。

PS D:\dockers\files\gitlab> ls


    ディレクトリ: D:\dockers\files\gitlab


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2021/08/02     20:49                gitlab
-a----        2021/08/02     20:49           1475 docker-compose.yml

次に以下のコマンドを実行してバックアップアップを取得します。

docker-compose exec gitlab gitlab-rake gitlab:backup:create

しばらく時間がかかります。

バックアップファイル

以下のような内容が出力されれば完了です。

Creating backup archive: 1627990380_2021_08_03_14.1.0-ee_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done
done
done
done
done
done
done
done
Deleting old backups ... skipping
Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need these files to restore a backup.
Please back them up manually.
Backup task is done.

Warningは「gitlab.rbとgitlab-secrets.json」はバックアップに含まれていないから自分でバックアップしてね。ということのようです。

・・・まぁ大丈夫でしょう!

バックアップファイルはDockerコンテナ内の/var/opt/gitlab/backupsフォルダに作成されます。
今回の構成では/var/opt/gitlabはホスト側の./gitlab/dataに紐づいています。

PS D:\dockers\files\gitlab\gitlab\data\backups> ls


    ディレクトリ: D:\dockers\files\gitlab\gitlab\data\backups


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2021/08/03     20:33         307200 1627990380_2021_08_03_14.1.0-ee_gitlab_backup.tar

ちゃんとできていますね。

次回はこのファイルを使って復元を行ってみようと思います。

今日はここまで!