Docker方式安裝GitLab教程
Docker方式安裝GitLab
GitLab 提供了一個(gè)官方 Docker 鏡像,該鏡像包含了 GitLab 所需的所有服務(wù),并以單個(gè)容器的形式運(yùn)行。
GitLab 官方 Docker 鏡像地址:
注意事項(xiàng)
- GitLab Docker 鏡像默認(rèn)不包含郵件傳輸代理 (MTA),如 Postfix 或 Sendmail。
- 推薦使用獨(dú)立容器部署 MTA,或者直接在 GitLab 容器中安裝 MTA,盡管這樣會(huì)增加維護(hù)難度。
先決條件
確保您的環(huán)境中已經(jīng)安裝了 Docker。
配置 GitLab 數(shù)據(jù)目錄
在安裝之前,需要配置一個(gè)目錄來(lái)存儲(chǔ) GitLab 配置、日志和數(shù)據(jù)文件。建議設(shè)置一個(gè)環(huán)境變量 $GITLAB_HOME
,指向該目錄。確保該目錄存在并且權(quán)限正確。
- 對(duì)于 Linux 用戶(hù),設(shè)置為
/srv/gitlab
:
export GITLAB_HOME=/srv/gitlab
- 對(duì)于 macOS 用戶(hù),設(shè)置為
$HOME/gitlab
:
export GITLAB_HOME=$HOME/gitlab
確保將 $GITLAB_HOME
環(huán)境變量添加到您的 shell 配置文件中,以便在后續(xù)會(huì)話(huà)中生效:
GitLab 使用掛載卷來(lái)存儲(chǔ)數(shù)據(jù),下面是各個(gè)卷的說(shuō)明:
本地路徑 | 容器路徑 | 用途 |
---|---|---|
$GITLAB_HOME/data | /var/opt/gitlab | 存儲(chǔ) GitLab 數(shù)據(jù) |
$GITLAB_HOME/logs | /var/log/gitlab | 存儲(chǔ) GitLab 日志 |
$GITLAB_HOME/config | /etc/gitlab | 存儲(chǔ) GitLab 配置文件 |
安裝 GitLab
GitLab Docker 鏡像可以通過(guò)多種方式安裝,包括直接使用 Docker Engine、Docker Compose 或 Docker Swarm。
下面是使用 Docker Engine 安裝 GitLab 的步驟。
使用 Docker Engine 安裝 GitLab
1.設(shè)置好 $GITLAB_HOME
環(huán)境變量后,運(yùn)行以下命令啟動(dòng) GitLab 容器:
sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22: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-size 256m \ gitlab/gitlab-ee:latest
該命令會(huì):
- 下載并啟動(dòng) GitLab 容器。
- 映射 GitLab 所需的端口:80(HTTP)、443(HTTPS)、22(SSH)。
- 使用
$GITLAB_HOME
目錄掛載容器的配置、日志和數(shù)據(jù)。 - 設(shè)置容器自動(dòng)重啟。
2.如果您的系統(tǒng)使用 SELinux,您需要加上 :Z
標(biāo)記來(lái)調(diào)整權(quán)限:
sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab:Z \ --volume $GITLAB_HOME/logs:/var/log/gitlab:Z \ --volume $GITLAB_HOME/data:/var/opt/gitlab:Z \ --shm-size 256m \ gitlab/gitlab-ee:latest
這確保了 Docker 容器能在掛載的卷中創(chuàng)建配置文件。
查看安裝日志
初始化過(guò)程可能需要一些時(shí)間。
您可以使用以下命令查看容器的實(shí)時(shí)日志:
sudo docker logs -f gitlab
獲取 GitLab 初始密碼
容器啟動(dòng)后,您可以通過(guò)以下命令獲取 GitLab root
用戶(hù)的初始密碼:
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
注意:
- 該密碼在容器啟動(dòng) 24 小時(shí)后會(huì)自動(dòng)被刪除。
- 建議盡早登錄并修改密碼。
訪(fǎng)問(wèn) GitLab
安裝完成后,您可以通過(guò)瀏覽器訪(fǎng)問(wèn) GitLab。
例如,若您使用了 gitlab.example.com
作為主機(jī)名,直接訪(fǎng)問(wèn) http://gitlab.example.com
即可。
如果您在 macOS 上使用 Boot2Docker,可以訪(fǎng)問(wèn) http://192.168.59.103
。
管理員登錄后設(shè)置中文
總結(jié)
通過(guò)以上步驟,您可以在 Docker 容器中成功部署 GitLab。注意,GitLab 鏡像并不包含郵件傳輸代理 (MTA),因此需要額外配置郵件發(fā)送功能。另外,確保在 Docker 容器啟動(dòng)后及時(shí)獲取初始密碼并進(jìn)行安全設(shè)置。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
樹(shù)莓派4b ubuntu19 server 安裝docker-ce的安裝步驟
這篇文章主要介紹了樹(shù)莓派4b ubuntu19 server 安裝docker-ce的安裝步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11使用rpm安裝指定版本docker(1.12.6)的詳細(xì)步驟
為了防止安裝高版本的docker引發(fā)的錯(cuò)誤,需要安裝1.12.6版本的docker,下面小編給大家?guī)?lái)了使用rpm安裝指定版本的docker(1.12.6)的步驟,感興趣的朋友一起看看吧2021-08-08解析Docker 下拉取oracle 11g鏡像配置的問(wèn)題
這篇文章主要介紹了Docker 下拉取oracle 11g鏡像配置的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解
bridge模式是Docker默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配N(xiāo)etwork Namespace、設(shè)置IP等,并將一個(gè)主機(jī)上的Docker容器連接到一個(gè)虛擬網(wǎng)橋上,下面這篇文章主要給大家介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2023-01-01Docker查看鏡像的Dockerfile(docker history和docker inspec
這篇文章主要給大家介紹了關(guān)于Docker查看鏡像的Dockerfile的相關(guān)資料,文中主要運(yùn)用的是docker history和docker inspect命令,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05docker中的環(huán)境變量使用與常見(jiàn)問(wèn)題解決方案
這篇文章主要給大家介紹了關(guān)于docker中環(huán)境變量使用與常見(jiàn)問(wèn)題解決方案的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法
本文主要介紹了使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03