
拉取镜像
docker pull gitlab/gitlab-ce
启动容器
docker run -d --hostname git.taoya.art -p 443:443 -p 9000:80 -p 22000:22 --name gitlab --restart always -v $HOME/srv/gitlab/config:/etc/gitlab -v $HOME/srv/gitlab/logs:/var/log/gitlab -v $HOME/srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
其中 volume 选项将 gitlab 的目录挂载为用户当地目录,以免容器在停止或被删除的时候丢失数据。publish 选项将宿主机器的 30000、30001 和 30002 映射为容器的 80(http)、22(ssh)和 443(https)端口。

管理员账号密码
# docker exec -it 01fb1dd86bb5 /bin/bash // 01fb1dd86bb5是容器id
# gitlab-rails console -e production // 耐心等待
# user = User.find_by(email: 'admin@qq.com') // 记得换成自己住的的邮箱
# user.password = 'secret_pass' // 修改密码 密码必须是八位
# user.password_confirmation = '12345678' // 确认密码
# user.save! // 保存修改
# exit // 最后依次输入退出容器

u=User.where(id:1).first 来查找与切换账号(User.all 可以查看所有用户)
:::info
root -
taoya7 -
:::
配置
编辑 config/gitlab.rb
# 将external_url修改为GitLab服务器的访问地址
external_url 'http://git.taoya.art:9000/'
数据迁移
停止服务:为防止用户写入数据,必须保证服务已经停止 gitlab-ctl stop
修改路径:自定义git仓库数据的存储路径
vi gitlab.rb
# git_data_dirs({
# "default" => {
# "path" => "/mnt/nfs-01/git-data"
# }
# })
常用命令
gitlab-ctl start # 启动所有 gitlab 组件;
gitlab-ctl stop # 停止所有 gitlab 组件;
gitlab-ctl restart # 重启所有 gitlab 组件;
gitlab-ctl status # 查看服务状态;
gitlab-ctl reconfigure # 启动服务;
vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
gitlab-ctl tail # 查看日志
