Dockerを使用してGitlabを素早くデプロイする方法

Dockerを使用してGitlabを素早くデプロイする方法

1. GitLabイメージをダウンロードする

docker pull gitlab/gitlab-ce

2. GitLabインスタンスを実行する

GITLAB_HOME=`pwd`/data/gitlab
docker run -d \
  --hostname gitlab \
  --publish 8443:443 --publish 80:80 --publish 2222:22 \
  --name gitlab \
  --常に再起動\
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  gitlab/gitlab-ce

3. GitLabインスタンスを設定する

3.1 電子メールの設定:

docker exec -t -i gitlab vim /etc/gitlab/gitlab.rb

次のメールボックスの構成では、NetEase 163 メールボックスを例に挙げています。

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxパスワード"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "ログイン"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_openssl_verify_mode'] = "ピア"

gitlab_rails['gitlab_email_from'] = "[email protected]"
ユーザー["git_user_email"] = "[email protected]"

上記の [email protected] はユーザー名、つまりメールアドレスを表しており、xxxxpassword はメールアドレスのログインパスワードではなく、NetEase メールのクライアント認証パスワードであることに注意してください。NetEase メールの Web ページの [設定] - [POP3/SMTP/IMAP] - [クライアント認証パスワード] で確認できます。

3.2 外部アクセスURLの設定

これは設定する必要があります。そうでない場合、デフォルトのURLはコンテナのホスト名になります。最初はポートマッピング80->8080が行われていたため、次のように設定されていました。

外部URL http://10.103.240.36:8080

後で、external_url はポートではなく IP またはドメイン名でのみ構成でき、そうでない場合は起動できないことがわかりました。

したがって、ポートを 80->80 に設定し、external_url を次のように設定することしかできません。

外部URL http://10.103.240.36

4. GitLabを再起動する

docker gitlab を再起動

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker+gitlab+gitlab-runnerの詳細なデプロイメント
  • Docker-compose ワンクリックデプロイ gitlab 中国語版の方法手順
  • Docker-compose を使用して GitLab をデプロイする方法
  • DockerでGitlabをインストールする方法
  • Dockerを使用してgitlabを構築する詳細な説明
  • Dockerを使用してgitlabコミュニティの中国語版を構築する詳細なプロセスを教えます

<<:  Innodb で MySQL の 2T テーブルをすばやく削除する方法の例

>>:  要素のel-tree複数選択ツリー(チェックボックス)親子ノードの関連付けが関連付けられていません

推薦する

vuex ベースのショッピングカート機能の実装

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

CSS3+HTML5+JSでブロックの縮小・拡大アニメーション効果を実現

最近、あるプロジェクトに取り組んでいたとき、自分のプロジェクトでは CSS3 のアニメーション技術を...

Linux での Makefile の書き方と使い方の詳細な説明

目次メイクファイルMakefile の命名とルールMakefile の仕組みMakefile変数Ma...

CSSを使用して3Dフォトウォール効果を作成する

CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。 <!...

シンプルな時計を実装するJavaScript

この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

Vue プロジェクトで axios をカプセル化する方法 (http リクエストの統合管理)

1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...

HTM と HTML の違いは何ですか? HTM と HTML の違いは何ですか?

Web デザインを学習する過程で、html と htm の関係など、遭遇した多くの問題について深く...

Linux でジャンクファイルをエレガントに削除する方法

あなたも私と同じように、コンピューターのファイルを整然と整理し、不要なファイルを適宜削除するプログラ...

ベースタグとは何ですか? また、それは何をするのですか?

<base> タグは、ページ上のすべてのリンクのデフォルトのアドレスまたはデフォルトの...

検証コード干渉を実装する js (静的)

この記事では、検証コード干渉を実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

Ubuntu での Subversion (SVN) の詳細なインストールと設定

ソフトウェア開発者であれば、Subversion に精通している必要があります。 Subversio...