docker部署gitlab详细记录

  • 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)表示社区标本,

  • image
  • 这里从阿里镜像服务里面拉取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里面

image

接着,修改:/home/gitlab/data/gitlab-rails/etc/gitlab.yml

`vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml`

找到关键字 * ## Web server settings *

将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址

image

到此为止,gitlab的web管理页面就可以正常访问

2.5 进gitlab容器重启配置服务

docker exec -it gitlab /bin/bash  进去gitlab容器的命令
gitlab-ctl reconfigure  重置gitlab客户端的命令

  • 由于我们运行是使用数据卷参数进行运行的,宿主机的gitlab.rb文件修改了,gitlab的文件会跟着改,但是容器的文件不会跟着生效,必须要进去容器里面进行命令执行,重置配置文件比较耗费时间,需要耐心等待,如果时间比较短说明成功率不高,而且进去容器之后就退出啦。

    image

备注:如上信息如果出现了,然后等了将近一分钟的话,恭喜你在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 

  • image

2.8 再查看本机端口状态

netstat -tnl 命令

  • image

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安装之后需要重置密码,
image

你可能感兴趣的:(docker部署gitlab详细记录)