docker从0到1建一个完整的gitlab服务器

在构建GitLab服务器前,确保服务器内存至少4G+,以避免运行服务时卡顿。使用Docker拉取最新或指定版本的gitlab-ce镜像,如13.8.8-ce.0。启动镜像时需映射端口并挂载数据、日志和配置目录。配置外部URL和SSH端口,然后重启容器。最后,设置GitLab的ROOT密码,生成SSH密钥并添加到个人设置中,以便进行git操作。
摘要由CSDN通过智能技术生成

在建gitlab服务器之前,建确保服务器有4G+以上的内存,因为运行它的各个服务,至少占2.4G以上的内存,如果不足,则可能卡。

1. 首先是拉到镜像下来了。

// 软件嘛,当然越新越好了
docker pull gitlab/gitlab-ce

当然,也可指定版本,我就是用这个版本的
docker pull gitlab/gitlab-ce:13.8.8-ce.0

 你也可搜其他可用的版本,用这个命令

docker search gitlab/gitlab

[root@qmecs-02 ~]# docker search gitlab/gitlab
INDEX       NAME                                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/gitlab/gitlab-ce                 GitLab Community Edition docker image base...   3867                 [OK]
docker.io   docker.io/gitlab/gitlab-runner             GitLab CI Multi Runner used to fetch and r...   849                  [OK]
docker.io   docker.io/gitlab/gitlab-ee                 GitLab Enterprise Edition docker image bas...   406                  
docker.io   docker.io/gitlab/gitlab-runner-helper                                                      40

2. 启动镜像

$ docker run -d  -p 443:443 -p 80:80 -p 22: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:13.8.8-ce.0
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
# --restart 自启动。docker 启动时,也自己启动。

注意,如果你这里不指定22端口,则gitlab的仓库地扯中的ssh地址,则不会开启。ssh地扯,在你传大项目(大于1G)时,就不会有请求超时,请求体过大等情况。就算你在gitlab.rb文件中配置 gitlab_rails['gitlab_ssh_host'],它的ssh地扯还是只显示 git@容器ID+仓库名称

## gitlab.yml configuration
##! Docs: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/gitlab.yml.md
################################################################################
gitlab_rails['gitlab_ssh_host'] = '192.168.1.2'
gitlab_rails['gitlab_shell_ssh_port'] = 222
# gitlab_rails['gitlab_ssh_user'] = ''
# gitlab_rails['time_zone'] = 'UTC'

如这个图片(网友图片)

 3. 修改配置

##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
# 配置 http方式对外的地址,默认是80 
external_url 'http://192.168.1.2'

# 如果是其他端口,则是
external_url 'http://192.168.1.2:8080'


################################################################################
# ssh 对外的地址与端口,默认是22
gitlab_rails['gitlab_ssh_host'] = '192.168.1.2'
gitlab_rails['gitlab_shell_ssh_port'] = 2222

4.  重启容器

# 重启gitlab容器
$ docker restart gitlab

5. 访问 http://192.168.1.2 

进入设置密码界面,默认是设置ROOT账户的密码。则可以建仓库了,如下图。

6. 生成ssh key

在命令行中输入以下命令,xxx@xxx.com 换成你自己的邮箱。
ssh-keygen -t rsa -C 'xxx@xxx.com'

 连继回车3次,则在以下目录生成ssh key ,它分为公钥,私钥。

用记事本打开 id_rsa.pub ,把里面的串,复制到 gitlab 服务器上,个人中心-Settings-ssh key

 加到这里,即可。

 至此,就可以愉快的 git clone,pull,push 了。

有任何问题,都可以私聊我哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值