参考教程

  • docker下gitlab安装配置使用(完整版)https://www.jianshu.com/p/080a962c35b6

    背景

    甲方的代码托管不给权限, 导致 go 项目只能使用 govendor, godoc 及 go mod 等用不了.
    甲方代码的 vendor 下面有完整的源码, 所以考虑把自己搭建一个服务, 然后设置代理.

    物理环境

    Macos Canalina.

    一、安装及配置

    1.gitlab镜像拉取

  1. # gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
  2. $ docker pull gitlab/gitlab-ce

2.运行gitlab镜像

  • -d:后台运行
  • -p:将容器内部端口向外映射
  • —name:命名容器名称
  • -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

macos 不能使用 home 目录, 我. 要 <空格>\<回车> 才能换行.

  1. docker run -d --hostname 192.168.1.133 \
  2. --publish 7891:443 --publish 7892:80 --publish 7893:22 \
  3. --name gitlab --restart always \
  4. --volume ~/gitlab/config:/etc/gitlab \
  5. --volume ~/gitlab/logs:/var/log/gitlab \
  6. --volume ~/gitlab/data:/var/opt/gitlab \
  7. gitlab/gitlab-ce

3.配置

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

修改gitlab.rb文件


gitlab.rb文件内容默认全是注释

  1. vim ~/gitlab/config/gitlab.rb
  1. # 配置http协议所使用的访问地址,不加端口号默认为80
  2. # 此端口是run时22端口映射的222端口
  3. # 配置ssh协议所使用的访问地址和端口
  4. external_url 'http://192.168.1.133'
  5. gitlab_rails['gitlab_ssh_host'] = '192.168.1.133'
  6. gitlab_rails['gitlab_shell_ssh_port'] = 7003

重启gitlab容器

  1. docker restart gitlab

此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)

4.创建一个项目

进入项目

别人的文章里 浏览器输入http://192.168.1.133:7002,如果出现了此界面无问题了 , 但是我的不行.
看了一下端口占用, 发现 docker 也在监听 localhost:7892 , 所以我换成 localhost 就进去了.

  1. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  2. Google 849 yutou 24u IPv4 0x52978fa4191982bb 0t0 TCP 192.168.31.114:62708->192.168.1.133:7892 (SYN_SENT)
  3. Google 849 yutou 40u IPv4 0x52978fa402f7c64b 0t0 TCP 192.168.31.114:62709->192.168.1.133:7892 (SYN_SENT)
  4. Google 849 yutou 49u IPv4 0x52978fa4164b464b 0t0 TCP 192.168.31.114:62712->192.168.1.133:7892 (SYN_SENT)
  5. com.docke 43382 yutou 22u IPv4 0x52978fa3ed21a3a3 0t0 TCP *:7892 (LISTEN)
  6. com.docke 43382 yutou 24u IPv6 0x52978fa427a7cb8b 0t0 TCP localhost:7892 (LISTEN)

重置 root 密码

  • 第一次进入要输入新的root用户密码,设置好之后确定就行
  • pwd: 12345678

创建项目

下面我们就可以新建一个项目了,点击Create a project

docker 搭建 gitlab 服务器 - 图1
Create a project

创建完成后:

docker 搭建 gitlab 服务器 - 图2

依旧使用 127.0.0.1

还是使用 http://127.0.0.1:7892 作为 git 远程仓库的地址就好了.