Docker-DesktopにオンプレGitLabを立てる方法を学んだのでまとめておく。
注意として、クライアントOSのWindows(Enterprise, Pro, Home)でサーバ用途のアプリ利用はライセンス違反となるので注意。(2. インストールおよび使用権c.制限(v)に違反)
マイクロソフトに問い合わせた結果、Windwos ServerとCALを利用すれば、問題ないとのこと。2022/8時点では、WindowsServer2022がWSL2に対応しているので、WindowsServer2022であれば、下記とほぼ同様の手順で環境構築可能。
CIとかでpagesに生成物を公開するような場合には、データをDocker内で管理していないと、うまく生成物を上げられないので、マウント先はバインドマウントではなく、ボリュームにする。 バインドマウントとボリュームの違いはDockerドキュメントボリュームの利用を確認する。
コンテナを立てる
Powershellのコマンドでやる場合
下記をPowerShellで叩く。それだけ。
- マウント用のボリュームを作る
docker volume create gitlab_config gitlab_config docker volume create gitlab_logs gitlab_logs docker volume create gitlab_data gitlab_data
- コンテナを生成する
docker run --detach ` --hostname gitlab.example.com ` --publish 443:443 --publish 80:80 --publish 22:22 ` --name gitlab ` --restart always ` --volume gitlab_config:/etc/gitlab ` --volume gitlab_logs:/var/log/gitlab ` --volume gitlab_data:/var/opt/gitlab ` --shm-size 256m ` gitlab/gitlab-ce:latest
docker-compose.ymlでやる場合
下記をdocker-compose.ymlに保存する。
version: '3.1' services: gitlab: image: gitlab/gitlab-ce:latest shm_size: 256m container_name: gitlab restart: always hostname: gitlab.example.com ports: - 443:443 - 80:80 - 22:22 volumes: - gitlab_config:/etc/gitlab - gitlab_logs:/var/log/gitlab - gitlab_data:/var/opt/gitlab volumes: gitlab_config: gitlab_logs: gitlab_data:
GitLabにアクセスする
ブラウザで127.0.0.1
にアクセスする。コンテナが立ち上がるまでに少し時間がかかるので待つ。アクセスできない間は、応答がないか下記の図が表示される。
ログイン画面が表示されたら、コンテナ内の/etc/gitlab/initial_root_password
を開いて、rootの初期パスワードを確認して、ログインする。ログインパスワードは24時間で削除されるので注意。その場合、コンテナ内に入って、GitLabのパスワードリセットを実施する。参考
ログインできました。