Docker 部署 GitLab
Docker 部署 GitLab
环境: centos7 , docker18
1. 拉取镜像
docker pull gitlab/gitlab-ce
2. 开启容器
docker run -d \
-p 8023:443 \
-p 8020:8020 \
-p 8022:22 \
--name gitlab \
--restart always \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
# -d:后台运行 # -p:将容器内部端口向外映射(-p 8020:8020不再以80作为容器内默认端口,直接使用80会导致项目拉取时没有端口号) # --name:命名容器名称 # -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
3. 配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号 external_url 'http://192.168.91.128:8020' # 配置ssh协议所使用的访问地址 gitlab_rails['gitlab_ssh_host'] = '192.168.91.128'
# 此端口是run时22端口映射的8022端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022
gitlab_rails['time_zone'] = 'Asia/Shanghai'
:wq #保存配置文件并退出
进入gitlab容器内,重载配置,重启容器
docker exec -it gitlab /bin/bash 进去gitlab容器的命令
gitlab-ctl reconfigure 重置gitlab客户端的命令
4. 重启容器
docker restart gitlab
默认账号:root
默认密码可在容器中的配置文件查看,8ixoItOiRcLSc23hdwNDU4snn7PPl8ywFdaBd0DNiN8=
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
登录成功
汉化
6. 创建一个新项目
7. ssh设置
用户本地安装好git后,使用 git bash 生成 ssh,写入正确的邮箱
ssh-keygen -t rsa -C 'xxx@xxx.com'
一路回车,生成密钥
查看密钥
# ~表示用户目录,比如我的windows就是C:\Users\Administrator,并复制其中的内容
$ cat ~/.ssh/id_rsa.pub
打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框
8. 设置用户配置,下载代码
$ git config --global user.name "你的名字" $ git config --global user.email "你的邮箱"
查看配置
git config --global --list
完成
创建账户 参考:https://blog.csdn.net/GyaoG/article/details/125583017
有两种方式
1 管理员创建新用户
2 用户注册,管理员审批
参考:https://www.jianshu.com/p/080a962c35b6