- 1、创建一个目录如下命令:
sudo mkdir -p /etc/docker
- 2、追加加速器地址到daemon.json文件里面命令:
https://xxxxxxxx.mirror.aliyuncs.com 此地址在阿里加速器服务分配的.
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
EOF
- 3、重新加载daemon文件命令:
sudo systemctl daemon-reload
- 4、重启docker服务命令:
sudo systemctl restart docker
- 5、开机自动启动docker服务命令:
sudo systemctl enable docker
2、安装Gitlab准备工作
2.1获取gitlab镜像包
docker pull gitlab/gitlab-ce 这里的Community Edition (CE)表示社区标本,
这里从阿里镜像服务里面拉取gitlab镜像有点大,需要耐心等待,下载完镜像之后通过docker命令可以看到它的大小,可以看到它的文件有1.85G,为什么有那么大呢?因为gitlab集成了很多依赖软件
2.2 在本机准备gitlab工作目录
mkdir -p /home/gitlab/config 创建config目录
mkdir -p /home/gitlab/logs 创建logs目录
mkdir -p /home/gitlab/data 创建data目录
2.3 运行脚本启动GitLab
docker run --detach \
--hostname 192.168.1.133 \
--publish 7001:443 --publish 7002:7002 --publish 7003:22 \
--name gitlab --restart always \
--volume /home/gitlab/config:/etc/gitlab \
--volume /home/gitlab/logs:/var/log/gitlab \
--volume /home/gitlab/data:/var/opt/gitlab 8e28c88b6a21
- 参数说明:
参数名称 | 参数说明 |
---|---|
detach | 指定容器运行于前台还是后台 |
hostname | 指定主机地址,如果有域名可以指向域名 |
publish | 指定容器暴露的端口,左边的端口代表宿主机的端口,右边的是代表容器的端口 |
name | 给容器起一个名字, |
restart always | 总是重启 |
volume | 数据卷,在docker中是最重要的一个知识点. |
备注:
8e28c88b6a21
代表阿里云拉下的镜像Id,这里只列举上面脚本的参数说明,详情请看官方文档.
2.4 修改gitlab.rb配置文件
- 按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)配置有三个参数如:
external_url 'http://192.168.1.133'
gitlab_rails['gitlab_ssh_host'] = '192.168.1.133'
gitlab_rails['gitlab_shell_ssh_port'] = 7003
注意事项:
external_url 和gitlab_rails
这两个ip参数建议固定操作系统的静态不变的IP或说是域名进行配置,假设IP变得的话在GitLab新建项目的时候,生成的IP还是原来的IP,此时就无法推送代码在Gitlab里面
接着,修改:/home/gitlab/data/gitlab-rails/etc/gitlab.yml
`vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml`
找到关键字 * ## Web server settings *
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
到此为止,gitlab的web管理页面就可以正常访问
2.5 进gitlab容器重启配置服务
docker exec -it gitlab /bin/bash 进去gitlab容器的命令
gitlab-ctl reconfigure 重置gitlab客户端的命令
-
由于我们运行是使用数据卷参数进行运行的,宿主机的gitlab.rb文件修改了,gitlab的文件会跟着改,但是容器的文件不会跟着生效,必须要进去容器里面进行命令执行,重置配置文件比较耗费时间,需要耐心等待,如果时间比较短说明成功率不高,而且进去容器之后就退出啦。
备注:如上信息如果出现了,然后等了将近一分钟的话,恭喜你在docker安装Gitlab成功通过了.
2.6 gitlab容器命令
- docker start gitlab 启动命令
- docker restart gitlab 重启命令
- docker stop gitlab 停止命令
[root@localhost /]#docker restart gitlab 这里重启容器也需要耐心等待.
2.7 检查启动信息
[root@localhost /]# docker ps
2.8 再查看本机端口状态
netstat -tnl 命令
2.9 GitLab常用命令
gitlab-ctl reconfigure // 重新应用gitlab的配置
gitlab-ctl restart // 重启gitlab服务
gitlab-ctl status // 查看gitlab运行状态
gitlab-ctl stop // 停止gitlab服务
gitlab-ctl tail // 查看gitlab运行日志
3、打开GiltLab
3.1打开浏览器
- 浏览器输入http://192.168.1.133:7002,如果出现了此界面无问题了,
由于gitlab安装之后需要重置密码,