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 ビット グリーン バージョンのインストール グラフィック チュートリアル

推薦する

Windows Server 2008 R2 で忘れたパスワードを処理する方法

Windows Server 2008R2を忘れた場合の対処方法サーバーの数が多すぎる、サーバーが多...

Dockerでk8sをデプロイする方法

K8s k8s はクラスターです。クラスターには複数の名前空間があります。名前空間の下には複数のポッ...

JavaScript における async と await の使い方とメソッド

JS の async 関数と await キーワード 関数ヘルワールド() { 「こんにちは!美しい...

React Hooks の一般的な使用シナリオ (概要)

目次1. ステートフック1. 基本的な使い方2. 更新3. 合併を実現する4. 遅延初期化状態5. ...

Vue+echarts で積み上げ棒グラフを実現

この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介...

CSS 画像アニメーション効果のサンプルコード(フォトフレーム)

この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...

MySQL パスワードは正しいが、ローカルにログインできない -1045

MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...

Vueスロットの実装原理についての簡単な説明

目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...

HTML 文法百科事典_HTML 言語文法百科事典 (必読)

ボリュームラベル、プロパティ名、説明002 <! - - ... - -> コメント00...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

MySQL 5.7.17 圧縮バージョンのインストールノート

この記事では、参考までにMySQL 5.7.17圧縮版のインストール手順を紹介します。具体的な内容は...

Echatsチャートの大画面適応を実装する方法

目次説明する成し遂げるプロジェクトのディレクトリ構造は次のとおりです。効果図は以下のとおりです要約す...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

SQL実装 LeetCode (176. 2番目に高い給与)

[LeetCode] 176. 2番目に高い給与従業員テーブルから 2 番目に高い給与を取得する ...

HTMLハイパーリンクaタグのhrefジャンプとonclick間の実行順序の例

HTMLハイパーリンクaタグのhrefジャンプとonclickの実行関係htmlのaタグのhrefは...