1、拉取Gitlab镜像
docker pull gitlab/gitlab-ce
2、构建启动容器
sudo mkdir -p /docker/gitlab/config /docker/gitlab/logs /docker/gitlab/data
3、启动Gitlab(并将数据挂载到我们上一步构建的容器中)
sudo docker run --d \
--hostname gitlab \
--publish 8011:443 \
--publish 8012:8012 \
--publish 8013:22 \
--privileged=true \
--name gitlab \
--restart always \
-v /docker/gitlab/config:/etc/gitlab \
-v /docker/gitlab/logs:/var/log/gitlab \
-v /docker/gitlab/data:/var/opt/gitlab \
-v /docker/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \
gitlab/gitlab-ce:latest
4、修改配置文件
vim /docker/gitlab/config/gitlab.rb
#配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://xx.xx.xxx.xxx:8012'
#配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = 'xx.xx.xxx.xxx'
#此端口是run时22端口映射的8013端口
gitlab_rails['gitlab_shell_ssh_port'] = 8013
5、限制运行内存(视虚拟机情况而定)
docker update --memory 4096m --memory-swap -1 gitlab
6、重启
docker restart gitlab
7、进入容器、重载配置文件并开启
docker exec -it gitlab bash
gitlab-ctl reconfigure
gitlab-ctl start
8、修改root密码
进入控制台
gitlab-rails console -e production
获得用户数据,修改用户密码
user = User.where(id: 1).first
user.password='xxxxxxxx'
user.password_confirmation='xxxxxxxx'
user.save!
quit
9、重启GitLab(gitlab启动较慢,耐心等待即可)
docker restart gitlab
10、登录 IP+8012 并创建一个简单的空白项目,后续我们会用这个空白项目来实现CI/CD