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

推薦する

nginx proxy_cache バッチキャッシュクリアスクリプトの紹介

前書き: 以前、公式の nginx proxy_cache を CDN 静的キャッシュとして使用して...

MYSQL 左結合の最適化 (10 秒から 20 ミリ秒)

目次【機能背景】 [生のSQL] 【独自SQL解析】 【分析手順】 [最適化されたSQL] 【最適化...

数ステップでサイバーパンク2077風の視覚効果を実現するCSS

背景記事を始める前に、賽博朋克とは何か、賽博朋克2077とは何かを簡単に理解しましょう。サイバーパン...

適応型ウェブページを設計および作成する方法

3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイス...

固定テーブル幅テーブルレイアウト: 固定

テーブルを画面全体(残りの空白領域)に表示するために、幅属性は 100% と定義されることが多く、セ...

Vue ベースの要素ボタン権限実装ソリューション

背景要件: ERP システムに「ボタン権限制御」機能を追加する必要があり、権限の制御粒度をボタン レ...

Linux bash: ./xxx: バイナリ ファイルを実行できません エラー

今日、Ubuntu 用の小さなツールを顧客に送りましたが、ユーザーはそれを受け取った後、実行できませ...

SSH接続を介してXshellを使用したUbuntu 20.04で報告されたサービス問題の詳細な説明

1. 最近、Ubuntu の新しいバージョンをインストールしました。/etc/ssh/sshd_co...

Docker イメージを Docker Hub にプッシュする実装

イメージが正常にビルドされると、Docker 環境があれば使用できますが、イメージを Docker ...

CentOS7でパーティションのサイズを変更する方法

昨日、ある人のシステムのインストールを手伝ったのですが、自動パーティション分割をクリックするのを忘れ...

MySQL テーブルパーティションの使用法と基本原理の詳細な説明

目次パーティションテーブルとはパーティションテーブルの適用シナリオパーティションテーブルの制限パーテ...

Vueはシンプルなメモ帳機能を実装します

この記事では、参考までに、簡単なメモ帳機能を実装するためのVueの具体的なコードを紹介します。具体的...

vuex の補助関数 mapGetters の基本的な使い方の詳細な説明

mapGettersヘルパー関数mapGettersヘルパー関数は、ストア内のゲッターをローカルの計...

Linux で at および cron スケジュールタスクをカスタマイズする方法

Linux システムには 2 種類のスケジュールされたタスクがあります。1 つは 1 回だけ実行され...

Spring Boot + jar パッケージングのデプロイメント Tomcat 404 エラーの問題を解決する

1. Spring Boot は jsp jar パッケージをサポートしていません。jsp は wa...