1:拉取gitlab镜像

docker pull gitlab/gitlab-ce

2:生成挂载目录

mkdir -p /data/gitlab/etc/gitlab
mkdir -p /data/gitlab/var/log
mkdir -p /data/gitlab/var/opt

3:启动容器(用的时候调整下命令,为了便于查看,有换行符)

docker run -d -p 443:443 -p 90:90 -p 222:22 —name gitlab-dev —restart always —privileged=true -v /data/gitlab/etc/gitlab:/etc/gitlab -v /data/gitlab/var/log:/var/log/gitlab -v /data/gitlab/var/opt:/var/opt/gitlab gitlab/gitlab-ce

4.修改gitlab配置

vim /data/gitlab/etc/gitlab/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url ‘http://ip:90’
nginx[‘listen_port’] = 90
# 配置ssh协议所使用的访问地址和端口
gitlab_rails[‘gitlab_ssh_host’] = ‘43.165.45.556’
gitlab_rails[‘gitlab_shell_ssh_port’] = 222 # 此端口是run时22端口映射的222端口
# gitlab 放开注释
puma[‘worker_processes’] = 2
# 重启gitlab容器
docker restart gitlab-dev

vim /data/gitlab/var/opt/gitlab-rails/etc/gitlab.yml
修改clone地址
gitlab:
host: 10.95.11.119
port: 6080
https: false
ssh_host: 10.95.11.119
重启
docker exec -it gitlab-dev gitlab-ctl restart

修改root密码

进入容器内部
docker exec -it gitlab /bin/bash

进入控制台
gitlab-rails console -e production

查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为hwl19980906
user.password=’hwl19980906’
# 保存
user.save!
# 退出
exit

安装gilab-runer

详细可以参考:https://blog.csdn.net/junkaione/article/details/122684199
运行容器
docker run -d —name gitlab-runner —restart always -v /data/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest

注册
docker run —rm -v /data/gitlab-runner/cicd/config:/etc/gitlab-runner gitlab/gitlab-runner register \ —non-interactive \ —executor “docker” \ —docker-image alpine:latest \ —url “http://192.168.1.21:90/“ \ —registration-token “Br-dfyj-FsXYkmVWBtLc” \ —description “runner” \ —tag-list “build” \ —run-untagged=”true” \ —locked=”false” \ —access-level=”not_protected”