Ubuntuにて、Gitlabをdocker-composeから構築します。
※docker-composeはV2(2022/4リリース)でdocker composeコマンドに変更されています
docker-composeファイルを作成して、ビルドしてから立ち上げる
最新版
のimageが欲しい場合は「 image: ‘gitlab/gitlab-ee:latest’ 」になります。
これはdockerhubから探せます。「https://hub.docker.com/r/gitlab/gitlab-ee」
docker-compose up -dでビルドからコンテナの立ち上げまで完了します。
$ mkdir gitlab
$ cd gitlab/
$ vi docker-compose.yaml
==========
services:
web:
image: 'gitlab/gitlab-ee:13.10.2-ee.0'
restart: always
hostname: 'localhost'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://localhost'
gitlab_rails['gitlab_shell_ssh_port'] = 2022
ports:
- '2080:2080'
- '2022:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
==========
$ sudo mkdir -p /srv/gitlab/{config,logs,data}
$ sudo chmod 777 /srv/gitlab/{config,logs,data}
$ sudo docker-compose up -d
$ sudo docker-compose logs | grep error
※ エラーがないこと
$ sudo netstat -tnlp | grep -e 2080 -e 2022
※ ポート2080,2022がLISTENしていること
$ docker ps
※ コンテナが起動していること
yamlのインデントを間違えるとエラー
「volumes must be a mapping」
が発生します。
ホストとコンテナでCPUアーキテクチャの不一致が起きるとエラーになります
$ docker logs gitlab-web-1
exec /assets/wrapper: exec format error
$ uname -m
aarch64
$ docker inspect gitlab/gitlab-ee:13.10.2-ee.0 | grep Arch
"Architecture": "amd64",
– ホスト環境: aarch64 (ARM64)
– GitLabイメージ: amd64 (x86_64)
ARM対応している最新のイメージ(gitlab/gitlab-ee:latest)を使えば解消するようです。
アクセス用URLを指定
ブラウザアクセス用の設定を追加します。この設定はなくてもブラウザアクセスできました。
$ sudo docker exec -it gitlab_web_1 vi /etc/gitlab/gitlab.rb
==========
external_url ‘http://192.168.9.10:2080’
gitlab_rails[‘gitlab_shell_ssh_port’] = 2022
※上の2行を追記する
==========
ブラウザでアクセス
ブラウザからアクセスします。 http://192.168.9.10:2080/ 今回は旧バージョン(13.10.2-ee)なので最初にrootパスワードの変更要求があります。 最新バージョンでは、ユーザ:root、パスワード入れてログイン可能です。