偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用 Docker 部署 GitLab

開(kāi)發(fā) 前端
在Docker的幫助下,您可以做到這一點(diǎn)。我將向你展示它是如何完成的。它并不過(guò)分復(fù)雜,但需要許多步驟。所以,事不宜遲,讓我們開(kāi)始工作吧。要完成此任務(wù),需要一個(gè)正在運(yùn)行的 Ubuntu Server 實(shí)例和一個(gè)具有sudo權(quán)限的用戶。

你否曾經(jīng)想托管自己的GitLab存儲(chǔ)庫(kù)以確保代碼永遠(yuǎn)不會(huì)落入壞人之手?盡管在第三方云主機(jī)上托管你的存儲(chǔ)庫(kù)有很多優(yōu)勢(shì)(例如可用性和可靠性),但要完全控制你的存儲(chǔ)庫(kù),這樣任何人都可以在未經(jīng)你批準(zhǔn)的情況下訪問(wèn)它。

在Docker的幫助下,您可以做到這一點(diǎn)。我將向你展示它是如何完成的。它并不過(guò)分復(fù)雜,但需要許多步驟。所以,事不宜遲,讓我們開(kāi)始工作吧。要完成此任務(wù),需要一個(gè)正在運(yùn)行的 Ubuntu Server  實(shí)例和一個(gè)具有sudo權(quán)限的用戶。Ubuntu 實(shí)例可以托管在你的服務(wù)器上,甚至可以托管在你的云托管帳戶中(盡管通過(guò)第三方托管它會(huì)違背自托管存儲(chǔ)庫(kù)的目的)。

圖片

安裝依賴項(xiàng)

我們要做的第一件事是安裝所需的依賴項(xiàng)。登錄到你的 Ubuntu 實(shí)例并使用以下命令安裝所需的軟件:

sudo apt install ca-certificates curl openssh-server apt-transport-https gnupg lsb-release -y

接下來(lái),我們需要安裝 Docker 社區(qū)版。為此,我們將添加官方 Docker GPG 密鑰:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

接下來(lái),添加 Docker 存儲(chǔ)庫(kù):

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

使用以下命令更新 apt:

sudo apt-get update

最后,安裝 Docker 社區(qū)版:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

使用以下命令將您的用戶添加到 docker 組:

sudo usermod -aG docker $USER

注銷并重新登錄以使更改生效。到目前為止,一切都很好。讓我們繼續(xù)。

更改默認(rèn) SSH 端口

因?yàn)?GitLab 使用默認(rèn)的 SSH 端口,所以必須更改默認(rèn)的 SSH 服務(wù)器端口。否則,就會(huì)發(fā)生沖突。使用以下命令打開(kāi) SSH 配置文件:

sudo vi /etc/ssh/sshd_config

在該文件中,查找以下行:

#prot 22

將該行更改為:

prot 2222

啟用端口 22 以通過(guò)防火墻:

sudo ufw allow 2022

確保使用以下命令測(cè)試與另一個(gè)登錄名的 SSH 連接:

ssh USER@SERVER -p 2022

其中 USER 是您的遠(yuǎn)程用戶名,SERVER 是托管服務(wù)器的 IP 地址或域。

創(chuàng)建一個(gè)新的 Docker 卷

我們現(xiàn)在已經(jīng)準(zhǔn)備好進(jìn)入 Docker 方面了。我們要做的第一件事是創(chuàng)建一個(gè)目錄。首先,創(chuàng)建一個(gè)目錄來(lái)存放文件:

sudo mkdir -p /srv/gitlab

接下來(lái),創(chuàng)建一個(gè)目錄來(lái)存放我們的 Docker compose 文件:

mkdir ~/docker-gitlab

使用以下命令切換到該目錄:

cd ~/docker-gitlab

創(chuàng)建一個(gè)文件來(lái)存放環(huán)境變量:

vi .env

將以下內(nèi)容粘貼到該新文件中:

GITLAB_HOME=/srv/gitlab

保存并關(guān)閉文件。

創(chuàng)建 Docker 撰寫(xiě)文件

創(chuàng)建一個(gè)新的文件:

vi compose.yml

在該文件中,粘貼以下內(nèi)容(確保以粗體更改任何內(nèi)容以適應(yīng)您的環(huán)境/需要):

version:'3.6'
services:
web:
image:'gitlab/gitlab-ee:latest'
container_name:'gitlab-server'
restart:always
hostname:'<b>gitlab.example.com</b>'
environment:
GITLAB_OMNIBUS_CONFIG:|
external_url'https://<b>DOMAIN_OR_IP</b>'
gitlab_rails['smtp_enable']=true
gitlab_rails['smtp_address']="<b>SMTP_SERVER</b>"
gitlab_rails['smtp_user_name']="<b>SMTP_SERVER_USERNAME</b>"
gitlab_rails['smtp_password']="<b>SMTP_SERVER_PASSWORD</b>"
gitlab_rails['smtp_domain']="<b>DOMAIN</b>"
gitlab_rails['smtp_enable_starttls_auto']=true
gitlab_rails['smtp_port']=587
gitlab_rails['smtp_authentication']="login"
gitlab_rails['gitlab_email_from']='<b>FROM_EMAIL</b>'
gitlab_rails['gitlab_email_reply_to']='<b>REPLY_EMAIL</b>'
# Add any other gitlab.rb configuration here, each on its own line
ports:
-'80:80'
-'443:443'
-'22:22'
-'587:587'
volumes:
-'$GITLAB_HOME/config:/etc/gitlab'
-'$GITLAB_HOME/logs:/var/log/gitlab'
-'$GITLAB_HOME/data:/var/opt/gitlab'
shm_size:'256m'

保存并關(guān)閉文件。

部署容器

我們現(xiàn)在已準(zhǔn)備好部署容器。為此,請(qǐng)發(fā)出以下命令:

docker-compose up -d

容器的部署需要一些時(shí)間(10 到 30 分鐘之間的任何時(shí)間,取決于你的網(wǎng)絡(luò)連接速度),此刻可以處理一些其他任務(wù)。部署完成后,需要使用以下命令訪問(wèn)自動(dòng)生成的 root 密碼:

sudo cat /srv/gitlab/config/initial_root_password

應(yīng)該會(huì)看到一長(zhǎng)串隨機(jī)字符,它們將用作你的 root 密碼登錄。

訪問(wèn) GitLab

打開(kāi) Web 瀏覽器并將其指向 http://SERVER(其中 SERVER 是服務(wù)器的 IP 地址或者域名)。GitLab 登錄頁(yè)面(參見(jiàn)圖 1),將在其中鍵入用戶名 root 并粘貼您在_intial_root_password_文件中找到的密碼,如上所示。如果站點(diǎn)沒(méi)有立即出現(xiàn),請(qǐng)給它一些時(shí)間讓容器完成部署。

圖片

圖 1: GitLab 登錄屏幕意味著成功!

另一種部署方法

如果你發(fā)現(xiàn)上述部署有問(wèn)題,這里有另一種方法。使用以下命令設(shè)置卷位置:

export GITLAB_HOME=/srv/gitlab

使用此部署容器(確保更改任何粗體內(nèi)容以滿足您的需要):

docker run--detach\
--hostname<b>HOSTNAME</b>\
--publish443:443--publish80:80--publish22:22\
--name gitlab\
--restart always\
--volume$GITLAB_HOME/config:/etc/gitlab\
--volume$GITLAB_HOME/logs:/var/log/gitlab\
--volume$GITLAB_HOME/data:/var/opt/gitlab\
--shm-size256m\
gitlab/gitlab-ee:latest

上述方法之一應(yīng)該可以部署 GitLab。如果你仍然有問(wèn)題,你可以將向外的 SSH 端口更改為類似 10022 的端口,這樣該選項(xiàng)將類似于_—publish 10022:22。_ 最后,如果在部署 GitLab 時(shí)仍然遇到問(wèn)題,這里有另一個(gè)選擇:

docker run -d -p 22:22 -p 80:80 -p 443:443 \
--name gitlab --hostname gitlab.example.com \
--restart unless-stopped --shm-size 256m \
-v gitlab_config:/etc/gitlab -v gitlab_logs:/var/log/gitlab \
-v gitlab_data:/var/opt/gitlab gitlab/gitlab-ce:14.7.0-ce.0

現(xiàn)在擁有一個(gè)可以在公司內(nèi)部使用的 GitLab 存儲(chǔ)庫(kù)。

責(zé)任編輯:武曉燕 來(lái)源: 運(yùn)維開(kāi)發(fā)故事
相關(guān)推薦

2021-07-19 06:02:56

DockerGitLab 14.0開(kāi)源

2019-07-01 09:33:58

DockerNginx操作系統(tǒng)

2017-05-23 15:53:52

docker服務(wù)容器

2015-08-03 16:15:53

Docker部署集群

2020-08-28 13:27:25

Docker Node應(yīng)用

2023-08-08 10:23:34

2021-04-16 08:00:00

容器Docker工具

2018-03-09 10:07:34

mysql

2023-09-26 07:34:24

Docker部署依賴包

2020-01-02 19:00:05

AnsibleGitHubGitLab

2023-02-07 16:36:34

機(jī)器學(xué)習(xí)Docker無(wú)服務(wù)器

2022-04-13 08:20:32

DockerGo項(xiàng)目

2020-11-30 11:55:07

Docker命令Linux

2020-01-02 10:44:22

運(yùn)維架構(gòu)技術(shù)

2022-10-10 07:18:30

DockerGitlabweb系統(tǒng)

2023-08-24 10:24:54

GitLabPodman

2023-04-18 08:17:11

GitLab持續(xù)集成

2023-09-08 08:14:14

2024-09-13 15:32:18

2021-09-08 06:51:53

DockerCoupons項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)