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複数選択ツリー(チェックボックス)親子ノードの関連付けが関連付けられていません

推薦する

js QRコードスキャンログインの原理についての簡単な説明

目次QRコードログインの真髄QRコードを理解するシステム認証メカニズムQRコードをスキャンしてログイ...

Puppeteer を使用して Linux (CentOS) で Web ページのスクリーンショット機能を実装する

Linux に puppeteer をインストールするときに、次の問題が発生する可能性があります。こ...

Vueがビデオアップロード機能を実装

この記事では、参考までに、ビデオアップロード機能を実現するためのVueの具体的なコードを紹介します。...

HTML のタイトル、段落、改行、水平線、特殊文字についての簡単な説明

タイトルXML/HTML コードコンテンツをクリップボードにコピー< h1 >第 1 レ...

MySQL データテーブルのパーティション戦略と利点と欠点の分析

目次なぜパーティションが必要なのでしょうか?パーティショニング戦略パーティションの危険性なぜパーティ...

jQueryはすべてのショッピングカート機能を実装します

目次1. すべて選択2. 商品の数量を増やすか減らす3. 商品の小計を変更する4. 合計と合計額を計...

MySQLの累積集計原理と使用例の分析

この記事では、例を使用して、MySQL 累積集計の原理と使用方法を説明します。ご参考までに、詳細は以...

Vueのフロントエンドとバックエンドのデータのやり取りと表示を理解する方法

目次1. 技術概要2. 技術的な詳細1. インターフェースからバックエンドデータを取得する2. フロ...

Mysql 日付クエリの詳細な紹介

現在の日付を照会する CURRENT_DATE() を選択します。 CURDATE() を選択する;...

MySQL で not in を使用して null 値を含める問題を解決する

知らせ! ! ! uid が (a,b,c,null) に含まれないユーザーから * を選択します。...

CSSアニメーションに基づくSVGボタンのサンプルコード

具体的なコードは次のとおりです。 <a href="#"> <...

ES6のシンボルデータ型について詳しく説明します

目次シンボルデータタイプシンボルが表示される理由シンボルの特徴シンボルの応用rbオブジェクトにupメ...

モバイルプラットフォーム開発におけるメタタグの適用の詳細な説明

デスクトップ プラットフォームの Web レイアウトのメタ タグは誰もがよく知っています。これは常に...

Doubanウェブサイトのウェブサイトコンテンツに小さな変更を加える方法

<br />読みやすさはウェブサイトにとって非常に重要な部分であり、ウェブサイトの核心と...

ブラウザでビデオプレーヤーを実装するための基本的な考え方とコード

目次序文ブラウザにおけるオーディオとビデオに関する知識のまとめビデオエンコーディング包装形態オーディ...