docker docker-compose GitLab Server

【Ubuntu】Docker-composeでGitLabを構築する

2023年1月15日


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、パスワード入れてログイン可能です。

CATEGORIES & TAGS

docker, docker-compose, GitLab, Server,

Author:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

カテゴリー

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
保有:LPIC303 Security、CCNA