ソフトウエア開発環境でソース管理にgitlabを自宅サーバーに導入しているのですが、今ままでは直接サーバーにインストールしていました。
今日はそのgitlabをdockerの仮想環境上のコンテナで動かすことにしました。
理由はdockerにふれる機会を増やすためです。
docker-composeを使ってgitlabを建てました。
詳しい手順は書きページにかかれているものを参考にさせていただきました。
docker-composeはdocker-compose.ymlファイルを作成後、そのディレクトリでdocker-compose upと叩くだけで設定ファイル通りにdocker imageの取得やビルドを行い、サーバーを立ち上げてくれます。
立ち上げたサーバーを終了するときは
docker-compose down
でOKです。
立ち上げたサーバーのログを見たいときは
docker-compose logs -f
でOKです。
dockerのgitlabはdocker-composeファイルに記載しているvolumesの設定をgitlabの設定やデータ管理しているディレクトリとホストのディレクトリをマウントさせることで、dockerコンテナのgitlabサーバーが落ちたり再起動してもサーバーの設定やgitのデータは残るようにしています。
ちなみに上記手順のページの内容だけでは、docker内からcurlを叩くとレスポンスが帰ってくるけれど、ホストになってるサーバーや、クライアントからサーバーへアクセスした場合はアクセス不可となっていました。
そこでファイアウォールでgitlabで利用するポートの受信側の開放と、gitlabファイルの修正を行いました。
ファイアウォールの設定は下記を参考にさせていただきました。
また、gitlab.rbの設定変更は下記を参考にさせていただきました。
/etc/gitlab/gitlab.rb
内の
external_url と nginx['listen_port'] の設定を手動で書き換えました。
external_urlは外部からアクセスされるときのURLに合わせて設定し、nginx['listen_port'] はdocker-composeのportsに記載したアクセス用ポートとマッピングしているdockerコンテナ内のポートと一致させています。
設定ファイル変更後はgitlab-ctlコマンドでdockerコンテナ内のgitlabを再起動か、dockr-compose downで停止したあとにdocer-compose up -dで再起動でOKです。
下記参考ですが、docker上で動いている仮想サーバーに入るコマンドは下記
docker exec -it <コンテナ名> bash
では入れます。
dockerの仮想コンソールから出る場合は cntrol + p + q で抜けられます。
0コメント