一、下载镜像
docker pull gitlab/gitlab-ce
二、运行GitLab容器
docker run --detach \
--publish 8443:443 \
--publish 8480:80 \
--publish 2222:22 \
--name gitlab \
gitlab/gitlab-ce:latest
三、拷贝docker容器中的配置文件
docker cp gitlab:/etc/gitlab/ /opt/gitlab/config/
四、修改gitlab配置
vim /opt/gitlab/config/gitlab.rb
gitlab.rb默认文件全注释,我们可以在直接在文件首处添加配置
设置外部url,gitlab访问地址(注意端口)
external_url ‘http://192.168.28.134:8480’
- ssh默认端口为22,如果被占用了,会导致gitlab启动失败,所以建议修改默认配置
gitlab_rails[‘gitlab_shell_ssh_port’] = 2222
3.(可选)修改邮箱配置
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxx@163.com'
gitlab_rails['gitlab_email_display_name'] = 'zlt'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@163.com"
gitlab_rails['smtp_password'] = "客户端授权密码"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
五、创建启动文件
vim start.sh
#!/bin/bash
GITLAB_DIR=/opt/gitlab
docker stop gitlab
docker rm gitlab
docker run -d \
-p 8443:443 -p 8480:8480 -p 2222:22 \
--name gitlab \
-v ${GITLAB_DIR}/config:/etc/gitlab \
-v ${GITLAB_DIR}/logs:/var/log/gitlab \
-v ${GITLAB_DIR}/data:/var/opt/gitlab \
--privileged=true \
gitlab/gitlab-ce:latest
###注意端口和gitlab.rb中配置对应
GITLAB_DIR为挂载目录要修改为自己的目录
六、重新启动容器
sh start.sh
七、问题总结
gitlab容器无法访问:
查看防火墙是否开启:
active 为running时表示防火墙开启,我们可以选择开启端口号
firewall-cmd --zone=public --add-port=8480/tcp --permanent #(开放8480端口)
systemctl restart firewalld #(重启防火墙以使配置即时生效)
firewall-cmd --zone=public --list-ports #查看系统所有开放的端口
如果为云服务器还需进云服务器后台配置进出站规则
如还不可以访问:配置服务器ip转发
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
重启网络服务使生效
service network restart
gitlab clone地址为一串字符串时,检查gitlab.rb 的配置的端口和容器运行时的配置是否一致