Docker GitLab部署
Docker GitLab部署记录
一、GitLab镜像获取
步骤一:获取官网的gitlab镜像:
docker search gitlab-ce
步骤二:拉取目标镜像
docker pull gitlab/gitlab-ce
步骤三:启动gitlab容器
docker run -itd -p 8980:80 -p 8922:22 -p 9443:443 -v /opt/dorcker_gitlab/gitlab/etc:/etc/gitlab -v /opt/dorcker_gitlab/gitlab/log:/var/log/gitlab -v /opt/dorcker_gitlab/gitlab/opt:/var/opt/gitlab --restart always --shm-size 256m --privileged=true --name my-gitlab gitlab/gitlab-ce:latest
注意:此处需等待大概5-6分钟,如果出现Restart状态就可以放弃并重新启动容器了,正常状态是类似于Up 4 minutes (health: starting)这种:
参数特别说明:
--restart always:表示Docker启动时自动拉起Docker(无限循环拉起);
--shm-size 256m:指定共享内存为256MB,默认64MB,当初就因为内存不足导致gitlab启动失败
使用docker ps命令查看容器状态,如果发现状态如图所示即为正常:
二、修改容器配置
步骤一:进入容器内部
输入如下命令进入容器内部对相关配置文件进行修改:
docker exec -it 172xxxxxxx bash
步骤二:修改gitlab.rb文件
vi /etc/gitlab/gitlab.rb
#在文件中添加如下代码:
#外部访问的url,默认端口为80
external_url 'http://192.168.xx.xx'
#ssh地址
gitlab_rails['gitlab_ssh_host'] = '192.168.xx.xx'
#ssh端口
gitlab_rails['gitlab_shell_ssh_port'] = 8922
#保存并退出
步骤三:修改gitlab.yml文件(就是web页面的项目访问相关地址)
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
#将原文件中的配置修改如下,里面的ip为宿主机的ip,也就是用于访问的ip:
gitlab:
host: 192.168.xx.xx
port: 8980
https: false
#保存并退出
步骤四:重启gitlab服务
gitlab-ctl restart
exit
重启完毕后退出容器即可:
三、获取root密码
环境部署完成后,咱们尝试进行服务访问发现需要账号密码进行身份验证,但是在gitlab部署过程中并没有指定登录的账号和密码,所以此时需要咱们去后台获取一下初始的root密码。
步骤一:进入容器内部
docker exec -it 172e811b2260 bash
步骤二:查看初始密码
cat /etc/gitlab/initial_root_password