目錄
Docker部署GitLab
環境
host: CentOS7 4.14內存
docker: 18.09.9-ce
gitlab: 最新版本(1.12+版本)
1.安裝docker環境
自行搜索如何安裝docker,盡量按照較新版本的docker
2.拉取gitlab鏡像
# 拉取鏡像
docker pull gitlab/gitlab-ce
3.定義配置文件
# 打開掛載的配置目錄
vim /srv/gitlab/config/gitlab.rb
###################################################
# 添加外部請求的域名(如果不支持https, 可以改成http)
external_url 'https://gitlab.evescn.com'
# 修改gitlab對應的時區
gitlab_rails['time_zone'] = 'PRC'
# 開啟郵件支持
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@evescn.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
# 配置郵件參數
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@evescn.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "evescn.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
###################################################
4.創建數據日志掛載目錄
mkdir /evescn/gitlab/data -pv
mkdir /evescn/gitlab/log -pv
mkdir /evescn/gitlab/config -pv
5.啟動容器
# 啟動
docker run --detach \
--publish 22443:443 --publish 2280:80 --publish 2222:22 \
--name gitlab \
--memory 4g \
--restart always \
--volume /evescn/gitlab/config:/etc/gitlab \
--volume /evescn/gitlab/logs:/var/log/gitlab \
--volume /evescn/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
# 配置詳情
--publish 暴露了容器的三個端口, 分別是https對應的443, http對應80以及ssh對應的22(如果不需要配置https, 可以不暴露)
--memory 限制容器最大內存暫用4G, 這是官方推薦的
--volume 指定掛載目錄, 這個便於我們在本地備份和修改容器的相關數據
6.(選配) 配置https
如果配置了https, 需要導入證書
# 進入掛載配置目錄
cd /evescn/gitlab/config
# 創建密鑰文件夾, 並放入證書
mkdir ssl
cd /ssl
# 上傳域名證書文件
7.重啟服務
# 方法一: 重啟容器(其中xxxxxx是容器id)
docker restart xxxxxx
# 方法二: 登陸容器, 重啟配置
docker exec -it xxxxxx bash
gitlab-ctl reconfigure
gitlab-ctl restart
8.寫在最后
- 通過ssh方式拉取代碼時, 記住端口號是2222, 不是默認的22
- 如果沒有配置https, 是無法通過https路徑拉取代碼的
轉載或借鑒文檔
https://www.jianshu.com/p/786c0a7a49d4