Docker 部署 GitLab

Docker 部署 GitLab

环境: centos7 , docker18

1. 拉取镜像

docker pull gitlab/gitlab-ce

2. 开启容器

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

3. 配置

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

# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.91.128'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.91.128'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出

4. 重启容器

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


5. 打开浏览器:http://192.168.91.128

默认账号:root

默认密码可在容器中的配置文件查看

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

 登录成功

6. 创建一个新项目

 

 7. ssh设置

  用户本地安装好git后,使用 git bash 生成 ssh,写入正确的邮箱

ssh-keygen -t rsa -C 'xxx@xxx.com'

一路回车,生成密钥

 查看密钥

# ~表示用户目录,比如我的windows就是C:UsersAdministrator,并复制其中的内容
$ cat ~/.ssh/id_rsa.pub

 打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框

 

8. 设置用户配置,下载代码

$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"

查看配置

 git config --global --list

完成

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

原文地址:https://www.cnblogs.com/1285026182YUAN/p/15497625.html