参考教程
- docker下gitlab安装配置使用(完整版)https://www.jianshu.com/p/080a962c35b6
背景
甲方的代码托管不给权限, 导致 go 项目只能使用 govendor, godoc 及 go mod 等用不了.
甲方代码的 vendor 下面有完整的源码, 所以考虑把自己搭建一个服务, 然后设置代理.物理环境
Macos Canalina.一、安装及配置
1.gitlab镜像拉取
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
2.运行gitlab镜像
- -d:后台运行
- -p:将容器内部端口向外映射
- —name:命名容器名称
- -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
macos 不能使用 home 目录, 我. 要 <空格>\<回车>
才能换行.
docker run -d --hostname 192.168.1.133 \
--publish 7891:443 --publish 7892:80 --publish 7893:22 \
--name gitlab --restart always \
--volume ~/gitlab/config:/etc/gitlab \
--volume ~/gitlab/logs:/var/log/gitlab \
--volume ~/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
3.配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
修改gitlab.rb文件
gitlab.rb文件内容默认全是注释
vim ~/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
# 此端口是run时22端口映射的222端口
# 配置ssh协议所使用的访问地址和端口
external_url 'http://192.168.1.133'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.133'
gitlab_rails['gitlab_shell_ssh_port'] = 7003
重启gitlab容器
docker restart gitlab
此时项目的仓库地址就变了。如果ssh端口地址不是默认的22,就会加上ssh:// 协议头
打开浏览器输入ip地址(因为我的gitlab端口为80,所以浏览器url不用输入端口号,如果端口号不是80,则打开为:ip:端口号)
4.创建一个项目
进入项目
别人的文章里 浏览器输入http://192.168.1.133:7002,如果出现了此界面无问题了
, 但是我的不行.
看了一下端口占用, 发现 docker 也在监听 localhost:7892
, 所以我换成 localhost 就进去了.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 849 yutou 24u IPv4 0x52978fa4191982bb 0t0 TCP 192.168.31.114:62708->192.168.1.133:7892 (SYN_SENT)
Google 849 yutou 40u IPv4 0x52978fa402f7c64b 0t0 TCP 192.168.31.114:62709->192.168.1.133:7892 (SYN_SENT)
Google 849 yutou 49u IPv4 0x52978fa4164b464b 0t0 TCP 192.168.31.114:62712->192.168.1.133:7892 (SYN_SENT)
com.docke 43382 yutou 22u IPv4 0x52978fa3ed21a3a3 0t0 TCP *:7892 (LISTEN)
com.docke 43382 yutou 24u IPv6 0x52978fa427a7cb8b 0t0 TCP localhost:7892 (LISTEN)
重置 root 密码
- 第一次进入要输入新的root用户密码,设置好之后确定就行
- pwd: 12345678
创建项目
下面我们就可以新建一个项目了,点击Create a project
Create a project
创建完成后:
依旧使用 127.0.0.1
还是使用 http://127.0.0.1:7892
作为 git 远程仓库的地址就好了.