Docker-compose を使用して GitLab をデプロイする方法

Docker-compose を使用して GitLab をデプロイする方法

Docker-compose は GitLab をデプロイします

1. Dockerをインストールする

必要なツールをインストールする

次のようにコードをコピーします
[root@vm_10_14_centos ~]# yum -y yum-utils デバイスマッパー永続データ lvm2 をインストールします

Docker-ceイメージソースを追加してインストールする

[root@vm_10_14_centos ~]# yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@vm_10_14_centos ~]# yum makecache fast
[root@vm_10_14_centos ~]# yum -y install docker-ce[root@gitlab ~]# yum makecache fast
[root@vm_10_14_centos ~]# yum -y インストール docker-ce
[root@vm_10_14_centos ~]# systemctl dockerを起動します
[root@vm_10_14_centos ~]# systemctl docker を有効にする
/etc/systemd/system/multi-user.target.wants/docker.service から /usr/lib/systemd/system/docker.service へのシンボリックリンクを作成しました。

Dockerイメージアクセラレーションを追加する

[root@vm_10_14_centos ~]# vim /etc/docker/daemon.json
{
"レジストリミラー": ["https://9w1hl6qt.mirror.aliyuncs.com"]
}
[root@vm_10_14_centos ~]# systemctl デーモンリロード
[root@vm_10_14_centos ~]# systemctl dockerを再起動します
[root@vm_10_14_centos ~]# rpm -qa docker
[root@vm_10_14_centos ~]# rpm -qa docker-ce
docker-ce-18.09.0-3.el7.x86_64
[root@vm_10_14_centos ~]# docker --version
Docker バージョン 18.09.0、ビルド 4d60db4
[root@vm_10_14_centos ~]# docker バージョン
クライアント:
 バージョン: 18.09.0
 APIバージョン: 1.39
 Goバージョン: go1.10.4
 Gitコミット: 4d60db4
 作成日: 2018年11月7日水曜日 00:48:22
 OS/アーキテクチャ: linux/amd64
 実験的: 偽

サーバー: Docker Engine - コミュニティ
 エンジン:
 バージョン: 18.09.0
 API バージョン: 1.39 (最小バージョン 1.12)
 Goバージョン: go1.10.4
 Gitコミット: 4d60db4
 作成日: 2018年11月7日水曜日 00:19:08
 OS/アーキテクチャ: linux/amd64
 実験的: 偽

2. Docker-composeをインストールする

Docker-composeバイナリをダウンロードし、実行権限を追加します。

[root@vm_10_14_centos ~]# curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
 % 合計 % 受信 % 転送 平均速度 時間 時間 時間 現在
         ダウンロード アップロード 合計使用時間 残り 速度
100 617 0 617 0 0 959 0 --:--:-- --:--:-- --:--:-- 958
100 11.2M 100 11.2M 0 0 1824k 0 0:00:06 0:00:06 --:--:-- 2422k
[root@vm_10_14_centos ~]# chmod +x /usr/local/bin/docker-compose
[root@vm_10_14_centos ~]# docker-compose --version
docker-compose バージョン 1.23.2、ビルド 1110ad01

3. Gitlabをインストールする

(1) docker-composeのymlファイルを編集する

[root@vm_10_14_centos ~]# mkdir gitlab
[root@vm_10_14_centos ~]# cd gitlab/
[root@vm_10_14_centos gitlab]# vim docker-compose.yml 
バージョン: '2'
サービス:
 gitlab:
  イメージ: 'twang2218/gitlab-ce-zh:11.1.4'
  コンテナ名: "gitlab"
  再起動: 停止しない限り
  特権: true
  ホスト名: 'gitlab'
  環境:
  TZ: 「アジア/上海」
  GITLAB_OMNIBUS_CONFIG: |
   外部URL 'http://129.204.133.242'
   gitlab_rails['time_zone'] = 'アジア/上海'
   gitlab_rails['smtp_enable'] = true
   gitlab_rails['smtp_address'] = "smtp.aliyun.com"
   gitlab_rails['smtp_port'] = 465
   gitlab_rails['smtp_user_name'] = "[email protected]" #独自のaliyunメールボックスを使用するgitlab_rails['smtp_password'] = "axbc1kof"
   gitlab_rails['smtp_domain'] = "aliyun.com"
   gitlab_rails['smtp_authentication'] = "ログイン"
   gitlab_rails['smtp_enable_starttls_auto'] = true
   gitlab_rails['smtp_tls'] = true
   gitlab_rails['gitlab_email_from'] = '[email protected]'
   gitlab_rails['gitlab_shell_ssh_port'] = 22
  ポート:
  - '80:80'
  - '443:443'
  - '22:22'
  ボリューム:
  - /opt/gitlab/config:/etc/gitlab
  - /opt/gitlab/データ:/var/opt/gitlab
  - /opt/gitlab/logs:/var/log/gitlab

(2)関連ディレクトリを作成する

[root@vm_10_14_centos gitlab]# mkdir /opt/gitlab/{config,data,logs} -p
[root@vm_10_14_centos gitlab]# ls -l /opt/gitlab/
合計 12
drwxr-xr-x 2 ルート ルート 4096 12月8日 11:35 構成
drwxr-xr-x 2 ルート ルート 4096 12月8日 11:35 データ
drwxr-xr-x 2 ルート ルート 4096 12月8日 11:35 ログ

(3)gitlabイメージの中国語版を取得する

[root@vm_10_14_centos gitlab]# docker pull twang2218/gitlab-ce-zh:11.1.4
11.1.4: twang2218/gitlab-ce-zh からのプル
8ee29e426c26: プル完了 
6e83b260b73b: プル完了 
e26b65fd1143: プル完了 
40dca07f8222: プル完了 
b420ae9e10b3: プル完了 
a218309dd589: プル完了 
5c60fd7ba0ce: プル完了 
659c2144b5a3: プル完了 
8289bbac0d0e: プル完了 
31bbd150e8a7: プル完了 
9114e78243fa: プル完了 
0b97fa2153bc: プル完了 
308c7e15be6a: プル完了 
b7f31b8e487d: プル完了 
cbbb6dec5000: プル完了 
0241c9ad6a16: プル完了 
7fa6f0b53edd: プル完了 
1c2861e152b2: プル完了 
0536f3466f66: プル完了 
ダイジェスト: sha256:3c2372e3285e6d6933ddebb5ee3ae0c4bbf7cb235084e54d33d7f0ddf4813c4a
ステータス: twang2218/gitlab-ce-zh:11.1.4 の新しいイメージをダウンロードしました
[root@vm_10_14_centos gitlab]# docker イメージ ls
リポジトリ タグ イメージ ID 作成 サイズ
twang2218/gitlab-ce-zh 11.1.4 1935cc9f8798 4か月前 1.61GB

(4)gitlabコンテナを起動する

[root@vm_10_14_centos gitlab]# docker-compose up -d
デフォルトドライバーでネットワーク「gitlab_default」を作成しています
Gitlab を作成しています... エラー

エラー: gitlab の場合、サービス gitlab を開始できません: b'ドライバーがエンドポイント gitlab での外部接続のプログラミングに失敗しました (9308ca74b8491c556263eac9fb9b0abcb25258d9e2df5733fc4d9143d6b18dcc): ユーザーランド プロキシの開始エラー: listen tcp 0.0.0.0:22: bind: アドレスが既に使用されています'

エラー: gitlab の場合、サービス gitlab を開始できません: b'ドライバーがエンドポイント gitlab での外部接続のプログラミングに失敗しました (9308ca74b8491c556263eac9fb9b0abcb25258d9e2df5733fc4d9143d6b18dcc): ユーザーランド プロキシの開始エラー: listen tcp 0.0.0.0:22: bind: アドレスが既に使用されています'
エラー: プロジェクトの起動中にエラーが発生しました。
 
[root@vm_10_14_centos gitlab]# vim /etc/ssh/sshd_config 
[root@vm_10_14_centos gitlab]# systemctl sshdを再起動します
[root@vm_10_14_centos gitlab]# netstat -tulnp |grep 22
tcp 0 0 0.0.0.0:60022 0.0.0.0:* LISTEN 4044/sshd

ここで注意すべき点は、gitlabコンテナはポート22を使用する必要があり、ホストと競合できないため、ホストのsshdサービスのリスニングポートを変更する必要があることです。

[root@vm_10_14_centos gitlab]# docker-compose ps
名前 コマンド 状態 ポート
----------------------------------------------------------------------------------------------
------------------------
gitlab /assets/wrapper 稼働中 (正常) 0.0.0.0:22->22/tcp、0.0.0.0:443-
>443/tcp、0.0.0.0:80->80/tcp

(5)Gitlab設定の起動

[root@vm_10_14_centos gitlab]# chmod +x /etc/rc.local
[root@vm_10_14_centos gitlab]# ls -l /etc/rc.local
lrwxrwxrwx. 1 ルート ルート 13 7月 7 16:43 /etc/rc.local -> rc.d/rc.local
[root@vm_10_14_centos gitlab]# echo "cd /root/gitlab && docker-compose up -d" >>
ローカル
[root@gitlab gitlab]# tail -1 /etc/rc.local
cd /root/gitlab && docker-compose up -d

(6)GitLab管理インターフェース

アドレス: http://129.204.133.242

アカウント: ルート

パスワード: 初回ログイン時に設定する



以下もご興味があるかもしれません:
  • Clickhouse Docker クラスターの展開と構成を例を使って説明します
  • docker-compose デプロイメント PHP プロジェクト例の詳細な説明
  • Docker-compose ワンクリックデプロイ gitlab 中国語版の方法手順
  • docker-compose でデプロイしたときに MySQL にアクセスできなくなる問題の簡単な分析
  • docker-compose を使用して Clickhouse をすばやくデプロイする方法のチュートリアル

<<:  JavaScript でドラッグ スライダー パズルの検証機能を実装します (html5、canvas)

>>:  MySql 5.6.36 64 ビット グリーン バージョンのインストール グラフィック チュートリアル

推薦する

MySQL 8 の新機能: 非表示のインデックス

背景インデックスは諸刃の剣です。クエリ速度は向上しますが、DML 操作も遅くなります。結局のところ、...

MySQLの高可用性アーキテクチャの詳細な説明

目次導入MySQL 高可用性マスター 1 つとバックアップ 1 つ: MySQL マスター スレーブ...

Vueはカルーセルのフレームレート再生を実装します

この記事の例では、カルーセルのフレームレート再生を実現するためのVueの具体的なコードを参考までに共...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

KVM ベースの SRIOV パススルー構成とパフォーマンス テストの詳細な説明

SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

TypeScript インターフェースの紹介

目次1. インターフェース定義2. 属性2.1 オプション属性2.2 読み取り専用プロパティ3. ク...

ウェブページ作成における絶対パスと相対パスの違い

1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...

MySQL よく使われる関数の詳細な概要

目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...

Vant+postcss-pxtoremはブラウザ適応機能を実装します

Remレイアウトの適応Vant のスタイルでは、デフォルトで px を単位として使用します。rem ...

Vueはアップロードコンポーネントを実装します

目次1. はじめに2. アイデアファイルをアップロードする2つの方法3. ライフサイクル4. コード...

Vueのプラグインの仕組みとインストールの詳細を深く理解する

序文: Vue を使用する場合、多くの場合、カスタム プラグインをいくつか使用して記述し、 Vue....

Mysql接続数の設定と取得方法

接続数を取得する --- 最大接続数を取得します。SHOW VARIABLES LIKE '...

ウェブデザイナーが知っておくべき効率的なナビゲーションデザインの3つの原則

ウェブサイトのナビゲーションを設計することは、家の基礎を築くようなものです。基礎がしっかりしていなけ...

Nginx で https をアップグレードする方法

購入証明書Alibaba CloudのCloud Shield証明書サービスから購入できます。証明書...