ソースコード をちゃんと管理 バージョン管理システム gitlab を 導入 commit04
ソースコード をしっかり管理するために バージョン管理システム の gitlab を 導入 します。 commit04 では service
の内容を見ていきます。
前回は私がよく使用するservice
の設定項目についてご紹介しました。
ソースコード をちゃんと管理 バージョン管理システム gitlab を 導入 commit03
それでは今回しようした設定項目を見ていきます。
gitlab-data
このサービスはgitlab本体のストレージの役割を果たします。
Dockerはコンテナを削除するとデータもろとも消えてしまいます。
そのためデータを格納するためだけのData Volume Container(ストレージ)を作成することがDockerでの定石となっています。
gitlab-dataのサービスは以下のような設定になっています。
gitlab-data:
image: library/busybox:latest
volumes:
- ./gitlab/config:/etc/gitlab
- ./gitlab/logs:/var/log/gitlab
- ./gitlab/data:/var/opt/gitlab
networks:
- work
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
image
DockerイメージはDockerHub公式のbusyboxイメージを使用しました。
busyboxというのはものすごく小さなLinuxです。
なんでbusyboxを使用するのかというと・・・実は私にもわかりません(笑
別にubuntuでもいいらしいですがDockerの設計におけるイデオムみたいなものでしょうか?
volumes
この項目では、どの「ホストのフォルダ」と「コンテナのフォルダ」を結びつけるのかを定義します。
「マウント」という言葉を使うのでしょうかね?
例えば、 - ./gitlab/config:/etc/gitlab
と定義すると
ホスト側のgitlab/config
フォルダとコンテナ側の/etc/gitlab
フォルダが紐づけられます。
ホスト側のフォルダにaaa.txt
を放り込むとコンテナ側のフォルダにaaa.txt
が出現するわけですね。
この項目で紐づけられたフォルダは永遠に残ります!(もちろん削除もできます。)
今回は「設定フォルダ」「ログフォルダ」「オプションフォルダ」の3つを永続化しました。
これでバックアップしたファイルを取得したりログファイルを容易に管理できるようになります。
networks
どのネットワークに参加するのか、という設定になります。
この設定をしなくてもdocker-composeが勝手にネットワークを構成して参加するので良いのですが・・・
勝手にネットワークを構成されるとたまに物理ネットワークと衝突することがあります。
ということで事前にworkというネットワークに参加します。
logging
ログの設定ですね。Dockerはデフォルトでjson形式のログを出力します。
しかも無尽蔵に!!!!
無尽蔵は困るのでファイルの最大サイズ(100MB)と最大本数(3本)を指定しました。
これでログは最大300MBにしかならないので安心です。
明日はgitlabの設定を見ていきます。
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません