Docker创建GitLab

前置条件

  1. 有一台服务器(虚拟机也可以)
  2. docker基本操作(不会也可以)
1.创建存放数据目录文件夹
mkdir -p /usr/data/docker/gitlab

创建文件夹

2.搜索gitlab镜像
docker search gitlab-ce

搜索gitlab镜像

3.启动镜像并且端口映射以及文件目录挂载

文件目录挂载

docker run -d  \
-p 8443:443  -p 48080:80 -p 8022:22 --name=gitlab --restart always \
-v /usr/data/docker/gitlab/config:/etc/gitlab  \
-v /usr/data/docker/gitlab/logs:/var/log/gitlab  \
-v /usr/data/docker/gitlab/data:/var/opt/gitlab  \
gitlab/gitlab-ce

其中 443映射到宿主机8443,80可视化页面端口映射到48080,22 ssh链接端口映射到8022上面,没有下载镜像,启动时候将会自动下载
查看镜像

4.查看容器运行状态

容器运行状态
一直重启多半是内存不够,gitlab官网建议不低于2G,其他情况,百度多查查

5.浏览器访问

浏览器访问界面
因为将容器的80端口映到了 48080,所以ip+48080访问,记得防火墙关掉,或者把这些端口都放开,如果服务器是阿里云或者其他的需要在安全策略组那里把端口放出来

阿里云端口
端口放行

6.输入新密码,然后新建一个项目

项目信息

7.添加ssh公钥

ssh公钥

8.出现问题

问题1
新建项目后我们发现,ReadMe.md一直加载中,点进去的话url前缀不是我们的ip,是一串随机码

随机码
我们将随机码换成我们的ip+端口就可以了,所以问题就定为到了
手动调整ip

9.修改GitLab配置

(1).进入容器内部进入容器内部

docker exec -it gitlab /bin/bash

(2).编辑配置文件(gitlab.rb),末尾新增 两行

vim /etc/gitlab/gitlab.rb

编辑

gitlab_rails['gitlab_shell_ssh_port'] = 8022
external_url 'http://39.98.194.220'

编辑文件

其中 变动的是 8022 ssh的端口 ,url换成自己的ip

(3).修改第二个配置文件(gitlab.yml)

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

罪魁祸首
进行修改
修改
修改ssh端口
(4).重启,必须在docker容器内部重启,退出容器,重启无效

cd /bin/
gitlab-ctl restart
10.查看效果

ok

11.Http效果

Http效果

12.ssh方式

ssh方式

结语

  1. 启动docker容器时候,一直重启,把文件挂载去掉,具体原因没有深究,自己玩的可以不在意,如果公司搭建的话,还是最好找找原因,本人第一次搭建时候可以正常文件挂载,后来测试时候有点问题
  2. 有问题多百度
  3. 本人QQ:872019874
  4. 记录文件链接: docker-gitlab.txt. 提取码:9j67
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐