使用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 \
--restart always \
--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
下面以網易163郵箱為例配置郵箱:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxx@163.com"
gitlab_rails['smtp_password'] = "xxxxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_openssl_verify_mode'] = "peer"
gitlab_rails['gitlab_email_from'] = "xxxx@163.com"
user["git_user_email"] = "xxxx@163.com"
注意以上的xxxx@163.com
代表用戶名,即郵箱地址,而xxxxpassword
不是郵箱的登陸密碼而是網易郵箱的客戶端授權密碼, 再網易郵箱web頁面的設置-POP3/SMTP/IMAP-客戶端授權密碼
查看。
3.2 配置外部訪問URL
這個必須配置,否則默認以容器的主機名作為URL,剛開始由於做了端口映射80->8080
, 因此設置為
external_url "http://10.103.240.36:8080"
后來發現external_url
只能配置ip或者域名,不能有端口,否則不能啟動。
於是只能把端口設置為80->80
,然后external_url
設置為:
external_url "http://10.103.240.36"
4. 重啟gitlab
docker restart gitlab