使用Docker 快速部署 gitlab

安装 gitlab

gitlab 是深受企业用户喜爱的基于 git 的代码管理系统。本文使用 Docker 方式安装 gitlab:
这是一种快速高效的部署方式,相对于传统方式,这种部署可以有效的节省时间和过程。

  • 环境:Ubuntu 16.04,虚机内存/CPU/存储请根据实际使用情况配置,一般4C/8G/200G足够
  • 安装 docker: 18.06.1-ce

准备启动脚本

$ cat > gitlab-setup.sh << EOF
#!/bin/bash
# 注意:设置 gitlab_shell_ssh_port 是为了后续可以使用 SSH 方式访问你的项目
docker run --detach \    --hostname gitlab.test.com \    --env GITLAB_OMNIBUS_CONFIG="external_url ‘http://gitlab.test.com/‘; gitlab_rails[‘gitlab_shell_ssh_port‘] = 6022;" \    --publish 443:443 --publish 80:80 --publish 6022:22 \    --name gitlab \    --restart always \    --volume /srv/gitlab/config:/etc/gitlab \    --volume /srv/gitlab/logs:/var/log/gitlab \    --volume /srv/gitlab/data:/var/opt/gitlab \    registry.docker-cn.com/gitlab/gitlab-ce:11.2.2-ce.0
EOF

执行启动脚本:sh gitlab-setup.sh 执行成功后,等待数分钟可以看到

$ docker ps -a
CONTAINER ID        IMAGE                                                 COMMAND             CREATED             STATUS                   PORTS                                                            NAMES
4f9d5f97f494        registry.docker-cn.com/gitlab/gitlab-ce:11.2.2-ce.0   "/assets/wrapper"   1 minutes ago       Up 9 minutes (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:6022->22/tcp   gitlab

配置 gitlab

$ docker exec -it gitlab vi /etc/gitlab/gitlab.rb

请阅读后修改(因为前面docker run 已经指定了必要参数,可以不修改,后续有需要再修改),修改保存以后需要重启容器

$ docker restart gitlab

首次访问 gitlab

使用域名gitlab.test.com或者该主机 IP 首次登陆时会要求设置 root 用户的密码,完成后就可以用 root 和新设密码登陆;然后按需创建 Group, User, Projects等,还有相关配置。

备份数据

无论是企业、组织、个人都十分重视代码资产,之前我们的 gitlab 安装是单机版的,虽然可以有硬盘 raid 等保护,还有是丢失 gitlab 数据和配置的风险,因此我们有必要再做一些备份操作。这里利用 crontab 定期执行 rsync 命令备份到其他服务器。

# 创建备份脚本
cat > /root/gitlab-backup.sh << EOF
#!/bin/bash
# 请事先配置 gitlab 服务器到备份服务器的免密码 ssh 登陆
rsync -av --delete /srv/gitlab/config ‘-e ssh -l root‘ 192.168.2.xx:/backup_gitlab/config
rsync -av --delete /srv/gitlab/data ‘-e ssh -l root‘ 192.168.2.xx:/backup_gitlab/data
EOF

# 创建并应用 crontab
cat > /etc/cron.d/gitlab-backup << EOF
## 每3个小时同步备份一次,具体根据需要修改
11 */3 * * * root bash /root/gitlab-backup.sh > /root/gitlab/sync.log 2>&1
EOF

如果 gitlab 服务器真的出现不可恢复的故障,丢失数据,那么至少保留有3小时前的备份,利用备份的文件,同样再用 docker 挂载 volume的方式运行,这样就可以恢复原 gitlab 服务运行。

升级 gitlab

因为前面使用了 docker 方式安装,因此 gitlab 升级很方便。

  • 升级前停止/删除容器:$ docker stop gitlab && docker rm gitlab
  • 如上节执行备份数据
  • 修改 gitlab-setup.sh 指定新的版本,执行该脚本

参考

原文地址:http://blog.51cto.com/m51cto/2344998

时间: 2024-10-07 20:37:55

使用Docker 快速部署 gitlab的相关文章

docker 快速部署nacos注册中心

docker 快速部署nacos注册中心 拉去并启动docker-compose 服务 # git 拉去相关文件 git clone https://github.com/nacos-group/nacos-docker.git # 进入文件夹 cd nacos-docker/example # 运行docker-compose 服务 docker-compose -f standalone-mysql.yaml up # 关闭 容器服务命令 docker-compose -f standalo

运维人员的解放----Docker快速部署

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

docker下部署gitlab

docker用来隔离应用还是很方便的,一来本身的操作较为简单,二来资源占用也比虚拟机要小得多,三来也较为安全,因为像数据库这样的应用不会再全局暴露端口,同时应用间的通信通过加密和端口转发,更加安全. Gitlab是目前比较流行的开源类Github代码管理平台.Gitlab使用Rails开发,使用PostgreSQL或MySQL数据库,Redis做缓存.一般自己搭建私有代码仓库,Gitlab通常是首选.这里简单介绍一下dockerized Gitlab. Gitlab的docker镜像早已有人做好

Docker 快速部署Zabbix-server

玩Docker有段时间了,最近需要多个地方快速部署zabbix监控,所以使用docker可以快速部署,省去繁琐的安装过程. 组成:mysql //可以使用现成的mysql或者自行docker搭建zabbix-server-mysql //zabbix-server后台程序zabbix-web-nginx-mysql //zabbix-server前台web程序,包含phpzabbix-agent //zabbix客户端 #安装mysql--省略-- #安装zabbix-server-mysql后

Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)

场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100902301 Docker Compose基本使用-使用Compose启动Tomcat为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100904080 Docker Compose部署项目到容器-基于Tomc

docker快速部署DNS,实现快速上线

```# 概念 Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.这里我将使用docker容器快速部署DNS域名解析服务器,并实现快速上线 # 环境介绍 1. DNS服务器主机:172.18.0.2 域名:dns.jkyst.xyz 2. 客户端机器:172.18.0.3 域名:client1.jkyst.xyz 3. 客户端机器:172.18.0.4 域名:clie

docker快速部署sql server 2017开发版

安装sql server开发环境太麻烦?通过docker快速搭建也可以完成,一串指令搞定. Download SQL Server Management Studio (SSMS) https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms https://download.microsoft.com/download/3/C/7/3C77BAD3-4E0F-4C6B-84DD-4279

如何利用 docker 快速部署 Mysql 服务

docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server,然后执行拉取命令,注意可以选择tag版本,默认是latest. docker pull mysql/mysql-server:tag 等待拉取完成即可. docker Mysql-server 启动与配置 docker 部署的优势就在于其快速便捷,下面就进行几项步骤: 启动 docker 该容器命名

利用Docker快速部署Oracle环境

工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images,这样就能快速获得Oracle环境. [email protected] rac1:docker search oracle INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/wnameless/oracle-xe