部署docker-gitlab

Gitlab的docker化,找了些资料,后来发现其实人们早就已经做好了,并且在github上就有。最近学到了一个思想,”不重复造轮子“, 我这里简单照着文档做下总结。

GitLab是利用 Ruby on Rails 一个开源的版本管理系统,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

安装docker:

# wget -qO- https://get.docker.com/ | sh

安装docker-gitlab:

安装对应版本的gitlab镜像:

# docker pull sameersbn/gitlab:8.5.5

如果想安装最新版,使用:

# docker pull sameersbn/gitlab:latest

启动gitlab:

最快的启动方式是使用docker-compose

# wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml

yml文件里存放了相应服务的配置,可根据情况更改;可以使用如下命令生成一个64位是随机字符串,用于GITLAB_SECRETS_DB_KEY_BASE

# pwgen -Bsv1 64
qs7KxxMx3wrWpFMH3CxFpbnCNHPfxsxcgRTJcNMgjMJhwLfvmh4HrmwKc4mMcRc7
    - GITLAB_SECRETS_DB_KEY_BASE=qs7KxxMx3wrWpFMH3CxFpbnCNHPfxsxcgRTJcNMgjMJhwLfvmh4HrmwKc4mMcRc7

另外docker-gitlab默认使用/home/git/data这个目录用来存放提交上来的代码,我修改成了自己的路径:

volumes:
    - /srv/docker/gitlab/gitlab:/data/code

启动gitlab,这个过程需要等待一段时间:

# docker-compose up

执行完成之后查看启动结果:

[email protected]:~# docker ps -a 
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                                                   NAMES
aefaf4098b00        sameersbn/gitlab:8.5.5        "/sbin/entrypoint.sh "   13 hours ago        Up 13 hours         443/tcp, 0.0.0.0:10022->22/tcp, 0.0.0.0:10080->80/tcp   root_gitlab_1
a8ed7a4dd879        sameersbn/postgresql:9.4-14   "/sbin/entrypoint.sh"    13 hours ago        Up 13 hours         5432/tcp                                                root_postgresql_1
a9e519dcb183        sameersbn/redis:latest        "/sbin/entrypoint.sh"    13 hours ago        Up 13 hours         6379/tcp                                                root_redis_1

如果不用docker-compose的方式,也可以手动 launch:

1、启动postgresql:

docker run --name gitlab-postgresql -d     --env ‘DB_NAME=gitlabhq_production‘     --env ‘DB_USER=gitlab‘ --env ‘DB_PASS=password‘     --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql     sameersbn/postgresql:9.4-14

2、启动redis:

docker run --name gitlab-redis -d     --volume /srv/docker/gitlab/redis:/var/lib/redis     sameersbn/redis:latest

3、启动gitlab:

docker run --name gitlab -d     --link gitlab-postgresql:postgresql --link gitlab-redis:redisio     --publish 10022:22 --publish 10080:80     --env ‘GITLAB_PORT=10080‘ --env ‘GITLAB_SSH_PORT=10022‘     --env ‘GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string‘     --volume /srv/docker/gitlab/gitlab:/home/git/data     sameersbn/gitlab:8.5.5

上面的命令将使用10080作为Gitlab的Web访问端口,10022将作为ssh push和pull代码的端口。 在本地可以使用浏览器打开http://localhost:10080来访问Gitlab,初始登录网站使用root账户,用户名为root,密码为:5iveL!fe,登录后需要立即修改密码。

登陆:

http://localhost:10080

登陆进去之后修改密码就可以进行项目管理了~

时间: 2024-11-09 14:01:07

部署docker-gitlab的相关文章

部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了

部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了 安大虎 ? momenta 中台开发工程师 6 人赞同了该文章 就目前的形势看,一家公司的运维体系不承载在 Docker+Harbor(或 Pouch 等同类平台)之上都不好意思说自己的互联网公司.当然这些技术也不适用于全部公司,技术在迭代,平台也一样,把我使用的工具和大家分享下,一起成长(文章中扩展可按需Google). Docker docker的架构图如下: 从图中可以看出几个组成部分 docker c

docker gitlab backup

说明:下面命令中带有<your container name>字,是 gitlab 容器的名称,请按实际情况进行代替 在创建备份之前,你不需要停止任何东西 docker exec -t <your container name> gitlab-rake gitlab:backup:create gitlab_backup.sh content: #! /bin/bash case "$1" in start) docker exec -t <your co

阿里云部署Docker(2)

之前有一篇文章讲过在阿里云中安装Docker,相对来说那个是安装,但是安装完之后我们一般会碰到问题. 今天我给大家记录一下我的新的解决过程. 环境还是ubuntu12.04,假设我们已经把内核升级到了3.8以上. 便捷安装Docker命令: curl -s https://get.docker.io/ubuntu/ | sudo sh 这样一条指令就完成了安装. 直接执行如下命令: sudo docker run -i -t ubuntu /bin/bash 不行,会报错. 如下: [email

Linux下部署docker记录(1)-Volume使用

之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享.数据卷可以在多个容器之间共享.2)创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数

部署docker容器虚拟化平台

Dcoker概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app).几乎没有性能开销,可以很容易地在机器和数据中心中运行.最重要的是,他们不依赖于任何语言.框架或包装系统.   Docker是dotCloud公司开源的一个基于LXC的高级容器引擎,源代码托管在Github上, 基于go语言并遵从Apache2

轻轻松松在centos上部署docker服务

首先,因为docker的运行需要linux本身某些组件和内核特性的支持,所以要确保centos的版本大于6,并且内核版本大于2.6.32-431.可以简单的升级centos6到最新版本. sudo yum upgrade 然后安装cgroup sudo yum install libcgroup service cgconfig start #启动croup服务 lssubsys -am 如果安装成功,最后一个命令lssubsys -am会显示所有子系统的挂载点 源码方式安装lxc sudo y

离线手动部署docker镜像仓库——harbor仓库(二)

前言: 在<离线手动部署docker镜像仓库--harbor仓库(一)>中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点. 实验环境:harbor服务器系统:CentOS Linux release 7.4.1708 (Core)harbor服务器IP:10.0.0.101harbor版本:v1.5.0docker版本:1.13.1另外为了测试pull镜像,使用了另一台test102机器:10.0.0.102 部署过程: 1.下

Centos 7部署docker环境、基本命令使用及简单实战

Docker是一个开源的应用容器引擎,属于Linux容器的一种封装,是目前最流行的Linux容器解决方案.docker可以为任何应用创建一个轻量级.可移植的容器,然后容器可以运行在任何安装有docker的平台上.Docker 的优势:1.更快速的交付和部署对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行.开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码. docker 可以快速创建容器,快速迭代应用程序,大

Centos 7部署docker+nginx+keepalived实现高可用web集群

一.体系架构 在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟切换时间,DNS服务可以负责前端VIP的负载均衡.nginx负责控制后端web服务器的负载均衡,将客户端的请求按照一定的算法转发给后端Real Server处理,而Real Server将响应直接返回给客户端. 二.简单原理 NG

微服务架构 - CentOS7离线部署docker

原文:微服务架构 - CentOS7离线部署docker 1.环境准备 系统环境为: CentOS Linux release 7.5.1804 (Core) 安装docker版本为: 17.12.0-ce 2.准备部署文件 在http://mirrors.163.com/centos/7/os/x86_64/Packages/中下载如下rpm安装包: audit-2.8.4-4.el7.x86_64.rpm audit-libs-2.8.4-4.el7.x86_64.rpm libselinu