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

在建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账户的密码。则可以建仓库了,如下图。

docker从0到1建一个完整的gitlab服务器_第1张图片

6. 生成ssh key

在命令行中输入以下命令,[email protected] 换成你自己的邮箱。
ssh-keygen -t rsa -C '[email protected]'

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

docker从0到1建一个完整的gitlab服务器_第2张图片

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

docker从0到1建一个完整的gitlab服务器_第3张图片

 加到这里,即可。

docker从0到1建一个完整的gitlab服务器_第4张图片

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

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

你可能感兴趣的:(docker,gitlab,运维)