DUICUO

Dockerを使用してGitLab 14.0をデプロイする

[[411920]]

I. 展開環境の説明

この記事では、展開とテストにローカル VM 仮想マシンを使用します。

OS: CentOS Linux リリース 7.8.2003 (Core) 3.10.0-1160.24.1.el7.x86_64

IP: 192.168.168.100

Dockerバージョン: v20.10.7

Docker Compose: v1.29.2

仮想マシン構成: 2コアCPU、4GB RAM

注意: ① システムは最小限のインストールであり、展開前にシステムの初期化、カーネルの最適化、およびセキュリティの最適化が完了しています。

②DockerとDocker Composeがインストールされている

③ Iptablesファイアウォールが有効になっています。Dockerサービスがコンテナを起動すると、マッピングされたポートが関連するIptablesファイアウォールルールに自動的に追加されます。Iptablesルールを手動で変更する必要はありません。

II. Dockerを使用したデプロイメント

公式リポジトリミラー:

https://hub.docker.com/r/gitlab/gitlab-ce

公式のデプロイメントドキュメント:

https://docs.gitlab.com/ce/install/docker.html#gitlab-community-edition のインストール

1. 最新バージョンのイメージを取得する

  1. docker pull gitlab/gitlab-ce:latest

2. コンテナの構築

## データの永続性を実現するために、マウント用のデータ、ログ、および構成ファイル用のディレクトリを作成します。

  1. mkdir -p /data/gitlab/{データ、ログ、設定}

## コンテナの構築

  1. docker run -d --restart=always \  
  2. --hostname gitlab --name=gitlab \  
  3. -p 5443:443 -p 90:80 -p 1122:22 \
  4. -v /etc/localtime:/etc/localtime \
  5. -v /data/gitlab/config:/etc/gitlab \
  6. -v /data/gitlab/logs:/var/log/gitlab \
  7. -v /data/gitlab/data:/var/opt/gitlab \
  8. gitlab/gitlab-ce:最新

## いくつかのパラメータの説明

  1. -d: コンテナをバックグラウンドで実行する
  2. --restart=always: コンテナが終了したら常に再起動します (--restart オプションは通常、デタッチされたバックグラウンド起動モードのコンテナにのみ使用されます)。  
  3. --hostname gitlab: コンテナのホスト名を gitlab として指定します。  
  4. --name=gitlab: コンテナ名をgitlabとして指定します。  
  5. -p 5443:443 -p 90:80 -p 1122:22: ポートマッピング。ホストマシンのポート5443をコンテナ内のポート443に、ホストマシンのポート90をコンテナ内のポート80に、ホストマシンのポート1122をコンテナ内のポート22にマッピングします。注: ホストマシンのポートは、アプリケーションサービスで現在使用されていないポートにカスタマイズできます。

## ディレクトリマッピングの説明

3. コンテナを確認する

  1. docker ps -a

4. GitLab サービスのアクセス アドレスを設定します。

## GitLabの設定ファイルを変更する

  1. vi /data/gitlab/config/gitlab.rb
  2. または
  3. docker exec -it gitlab vi /etc/gitlab/gitlab.rb
  4. //HTTPプロトコルで使用されるIPアドレスを設定します
  5. 外部URL 'http://192.168.168.100'  

注: `external_url` を設定して、リスニングドメイン名、IPアドレス、またはIPアドレス+ポート番号をバインドします。GitLabにパブリックインターネット経由でアクセスする必要がある場合は、ドメイン名をHTTPSで設定するのが最適です。内部ネットワークアクセスの場合は、IPアドレスまたはIPアドレス+ポート番号、あるいはドメイン名のみを設定して、ユーザーがローカルhostsファイルの解決を通じてアクセスできるようにします。この記事では、コンテナの構築時にポート80がマッピングされるため、テスト目的でIPアドレス(http://192.168.168.100)を使用します。

## 方法1: コンテナを再起動する

  1. docker gitlab を再起動

## 方法 2: GitLab 設定をリロードする

  1. docker exec -it gitlab gitlab-ctl 再構成
  2. //再構成には時間がかかりますので、しばらくお待ちください。

5. アクセスをテストする

## 初期化管理者アカウントのパスワードを表示します。パスワードはコンテナ内に保存されています。

この記事で管理者アカウント用に生成されたパスワードは次のとおりです: 2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=


ブラウザで http://192.168.168.100:90 を開くと、GitLab にアクセスできます。コンテナ起動時にポートがマッピングされるため、アクセス時にポート番号を追加する必要があります。


## 初期のデフォルト管理者アカウントを入力してください: root パスワード:

2vLS5OiJNnFtvWMOXUgxBOjz38y7tm/JbyxvUx+jevg=、ログインしてください。


## ログイン成功後のホームページ。


## 次に、GitLab を使用できますが、この記事では詳しく説明しません。

III. Docker Compose を使用したデプロイメント

1. docker-compose ファイルをダウンロードします (または、ファイルをダウンロードせずに直接作成することもできます)。

  1. mkdir -p /data/gitlab
  2. cd /data/gitlab
  3. https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/docker-compose.yml で実行します。

2. マウント用のデータ、ログ、および構成ファイル用のディレクトリを作成し、データの永続性を有効にします。

  1. mkdir -p /data/gitlab/{データ、ログ、設定}

3. docker-composeファイルを変更する

  1. cd /data/gitlab
  2. docker-compose.ymlを編集する
  3. // 次のように、hostname、external_url、ports、およびvolumesパラメータ オプションを変更し、container_nameパラメータ オプションと対応する値を追加します。
  4. ウェブ:
  5. イメージ: 'gitlab/gitlab-ce:latest'  
  6. 再起動: 常に
  7. ホスト名: 'gitlab'  
  8. コンテナ名: gitlab
  9. 環境:
  10. GITLAB_OMNIBUS_CONFIG: |
  11. 外部URL 'http://192.168.168.100'  
  12. ポート:
  13. - '90:80'  
  14. - '5443:443'  
  15. - '1122:22'  
  16. ボリューム:
  17. - '/data/gitlab/config:/etc/gitlab'  
  18. - '/data/gitlablogs:/var/log/gitlab'  
  19. - '/data/gitlab/data:/var/opt/gitlab'  

4. コンテナを起動する

  1. cd /data/gitlab
  2. docker-compose -f docker-compose.yml アップ -d

5. 実行状態を確認する

  1. docker ps -a
  2. または
  3. docker-compose ps

6. アクセスをテストする

## 初期化管理者アカウントのパスワードを表示します。パスワードはコンテナ内に保存されています。

この記事で管理者アカウント用に生成されるパスワードは、EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec= (ホスト マシンの `/etc/gitlab/initial_root_password` 内のファイル) です。


ブラウザで http://192.168.168.100:90 を開くと、GitLab にアクセスできます。コンテナ起動時にポートがマッピングされるため、アクセス時にポート番号を追加する必要があります。


## 初期のデフォルト管理者アカウントを入力してください: root パスワード:

EeIG48BOSA6mKrRypYeALSZwXxoD7/u5m4V17z/M/ec=、ログインしてください。


## ログイン成功後のホームページ。


## 次に、GitLab を使用できますが、この記事では詳しく説明しません。

IV. スーパー管理者のパスワードを変更する

方法については、前回の記事の 8 番目のポイントを参照してください。

https://www.toutiao.com/item/6982016081162469925/