docker搭建gitlab服务器

蔚落 2023-01-16 11:28 296阅读 0赞

第一步:拉取gitlab的源

  1. docker pull gitlab/gitlab-ce:latest

第二步:执行命令,将/home/gitlab/data

  1. $ docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
  2. # -d:后台运行
  3. # -p:将容器内部端口向外映射
  4. # --name:命名容器名称
  5. # -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

























宿主机位置 容器位置 作用
/home/gitlab/config /etc/gitlab 用于存储 GitLab 配置文件
/home/gitlab/logs /var/log/gitlab 用于存储日志
/home/gitlab/data /var/opt/gitlab 用于存储应用数据

如果出现如下错误,则说明80端口被占用,需要重新制定内部接口

  1. docker: Error response from daemon: driver failed programming external connectivity on endpoint gitlab (16b6c21802fc865f61da04327404de15352f374075aeb197ed46138457c4b1fb): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

修改后运行后,正确会出现如下图所示
在这里插入图片描述

第三步:配置

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。

  1. # gitlab.rb文件内容默认全是注释
  2. $ vim /home/gitlab/config/gitlab.rb
  3. # 配置http协议所使用的访问地址,不加端口号默认为80
  4. external_url 'http://192.168.199.231'
  5. # 配置ssh协议所使用的访问地址和端口
  6. gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
  7. gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
  8. :wq #保存配置文件并退出
  9. # 重启gitlab容器
  10. $ docker restart gitlab

参考文章:

https://www.jianshu.com/p/080a962c35b6

发表评论

表情:
评论列表 (有 0 条评论,296人围观)

还没有评论,来说两句吧...

相关阅读