image.png

拉取镜像

  1. 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)端口。


image.png

管理员账号密码

# 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   // 最后依次输入退出容器

image.png

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 # 查看日志