一、一键安装命令
docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/soft/gitlab/etc:/etc/gitlab -v /usr/local/soft/gitlab/log:/var/log/gitlab -v /usr/local/soft/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce
-d #后台运行,全称:detach
-p 8443:443 #将容器内部端口向外映射
-p 8090:80 #将容器内80端口映射至宿主机8090端口,这是访问gitlab的端口
-p 8022:22 #将容器内22端口映射至宿主机8022端口,这是访问ssh的端口
--restart always #容器自启动
--name gitlab #设置容器名称为gitlab
-v /usr/local/soft/gitlab/etc:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/soft/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v /usr/local/soft/gitlab/log:/var/log/gitlab #与上面一样
-v /usr/local/soft/gitlab/data:/var/opt/gitlab #与上面一样
--privileged=true #让容器获取宿主机root权限
gitlab/gitlab-ce #镜像的名称,这里也可以写镜像ID
二、查看Gitlab是否已经启动
三、配置Gitlab
1.进入容器
docker exec -it gitlab bash
2.修改gitlab.rb文件
//编辑gitlab.rb文件
vi /etc/gitlab/gitlab.rb
// 找到external_url,修改成http://服务器的ip
external_url 'http://xx.xx.xx.xx'
//配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.XX.XX' //和上一个IP输入的一样
gitlab_rails['gitlab_shell_ssh_port'] = 8022 // 此端口是run时22端口映射的8022端口
:wq //保存配置文件并退出
3.配置gitlab.yml文件
每次重新启动可能都要配置
//打开编辑gitlab.yml文件
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
//修改host 与上面.rb文件修改的一致
//修改port 为8090
4.重启服务
//此命令为容器内重启服务命令
gitlab-ctl restart
5.重置密码
# 进入控制台
gitlab-rails console -e production
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码
user.password='新密码'
user.password_confirmation = '新密码'
# 保存
user.save
# 退出控制台
exit
# 退出容器
exit
四、使用浏览器打开Gitlab
用户名:root,密码重置的新密码
五、Gitlab新建项目提交代码
1.新建项目,步骤如下
2.提交本地代码
首先本地要安装好git
- 选中要上传代码文件夹右键选择Git Bash Here
- 执行命令
# 下面两个引号里编写自己定义的用户名和邮箱
git config --global user.name"***"
git config --global user.email"***@163.com"
git init
# 如果最后push时,报连接失败,或许是连接错误,可用这命令修改连接
# git remote set-url origin ***.git
git remote add origin ***.git (去gitlab创建的项目里获取链接)
git add .
git commit -m"初始提交"
git push -u origin master (上传到master分支,可以改为指定的分支)
# push失败,如果报error: failed to push some refs to‘远程仓库地址’
# 使用如下命令
git pull --rebase origin master
# 然后再进行上传:
git push -u origin master