docker部署Gitlab全过程
作者:野猪佩挤
文章介绍了如何拉取GitLab Docker镜像、首次登录获取默认密码、修改密码、配置SSH Key、生成SSL证书以及测试SSH方式拉取代码的过程
docker部署Gitlab
拉取gitlab docker镜像
docker pull gitlab/gitlab-ce:latest
docker run -d \ -p 80:80 \ -p 9922:22 \ -p 443:443 \ -v /data/gitlab/etc:/etc/gitlab \ -v /data/gitlab/log:/var/log/gitlab \ -v /data/gitlab/opt:/var/opt/gitlab \ --privileged=true \ --name gitlab \ -v /etc/localtime:/etc/localtime:ro \ gitlab/gitlab-ce:latest
--restart always 容器自启动 --privileged=true 让容器获取宿主机root权限
第一次登录
- 获取GitLab默认密码
- 这个文件将在首次执行reconfigure后24小时自动删除
cat /data/gitlab/etc/initial_root_password | grep Password

注意登录后并修改密码
编辑 vim /data/gitlab/etc/gitlab.rb
# 这个文件是全注释掉了的,所以直接在首行添加如下配置 # gitlab访问地址,可以写域名。如果端口不写的话默认为80端口 external_url 'http://192.168.8.9' # ssh主机ip gitlab_rails['gitlab_ssh_host'] = '192.168.8.9' # ssh连接端口 gitlab_rails['gitlab_shell_ssh_port'] = 9922
重新加载配置,重启生效
docker exec gitlab gitlab-ctl reconfigure && docker exec gitlab gitlab-ctl restart
当复制地址的时候

创建SSH Key在你的电脑上生成密钥
ssh-keygen -t rsa -C "你的邮箱地址"
然后一路回车,使用默认值即可

打开公钥 id_rsa.pub复制搞gitlab上面去
cat ~/.ssh/id_rsa.pub

登陆GitLab,将鼠标放在我的头像下拉框,“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容


测试一下ssh方式拉取代码
git clone 地址

配置ssl
生成证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=192.168.8.9/O=192.168.8.9"
修改3处
external_url 'https://192.168.8.9' #将HTTP请求重定向到HTTPS 默认情况下,当您指定以“https”开头的外部\u url时,NGINX将不再侦听端口80上未加密的HTTP流量。如果要将所有HTTP通信重定向到HTTPS,可以使用重定向到HTTPS设置。 nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/gitlab/ssl/tls.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/tls.key"
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
