Mac通过Docker部署Gitlab实践

1. Docker ToolBox

非常方便实用的工具。

简介:

http://udn.yyuap.com/article-2163-1.html

下载地址:

https://www.docker.com/products/docker-toolbox

官网下载需要翻墙,这里提供一个网盘地址方便大家下载:

2016年5月22日
1.11.1b版本:http://pan.baidu.com/s/1i5CVuT3 提取密码:wqqv

Docker ToolBox集成了以下各部件:

  • Docker Machine
  • Docker Swarm
  • Docker Compose
  • Docker Registry
  • Docker Engine
  • Kitematic

Docker Toolbox安装:


安装完成

2. GitLab

装完Docker Toolbox,会出现这两个应用程序,第一个是命令行模式,第二个是GUI模式。

Docker终端和GUI

打开Kitematic,输入gitlab,搜索,会现非常多可选项,这里选择第一个gitlab-ce,这个是官方版本,集成了gitlab所需的所有部件。

通过Kinematic创建Gitlab实例

点击Create创建,这里可能会很慢,经常到后面卡住,后来同事介绍了一个非常好用的东西,加速器!

3. 加速器:

网址:https://dashboard.daocloud.io/mirror

点击立即开始-接入自有主机-我已有一台主机-选择MAC-直接点击[安装好了](因为上面已经长过Toolbox)

daocloud加速器
接入
等待接入

打开终端:


MacBook-Pro:~ wangwenjie$ docker-machine ssh default

##        .

## ## ##        ==

## ## ## ## ##    ===

/"""""""""""""""""\___/ ===

~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~

\______ o          __/

\    \        __/

\____\_______/

_                _  ____    _            _

| |__  ___  ___ | |_|___ \ __| | ___  ___| | _____ _ __

| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|

| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|  <  __/ |

|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|

Boot2Docker version 1.11.1, build HEAD : 7954f54 - Wed Apr 27 16:36:45 UTC 2016

Docker version 1.11.1, build 5604cbe

docker@default:~$ curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s

f1bc7a7ea6d1345c4d783dec6935ce61f0fba659

* Installing Daomonit with docker ...

+ sudo -E sh -c docker info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

Images: 0

Server Version: 1.11.1

Storage Driver: aufs

Root Dir: /mnt/sda1/var/lib/docker/aufs

Backing Filesystem: extfs

Dirs: 9

Dirperm1 Supported: true

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

Volume: local

Network: bridge null host

Kernel Version: 4.4.8-boot2docker

Operating System: Boot2Docker 1.11.1 (TCL 7.0); HEAD : 7954f54 - Wed Apr 27 16:36:45 UTC 2016

OSType: linux

Architecture: x86_64

CPUs: 1

Total Memory: 1.955 GiB

Name: default

ID: CTMT:VJ42:V4TA:YFFC:YIAL:KT6Y:PDPY:4J7J:4Y7C:KTIO:3OFN:MW53

Docker Root Dir: /mnt/sda1/var/lib/docker

Debug mode (client): false

Debug mode (server): true

File Descriptors: 16

Goroutines: 61

System Time: 2016-05-22T08:12:27.39348255Z

EventsListeners: 1

Registry: https://index.docker.io/v1/

Labels:

provider=virtualbox

* Downloading Daomonit using docker pull daocloud.io/daocloud/daomonit

Using default tag: latest

latest: Pulling from daocloud/daomonit

7ccc78f8af6d: Pull complete

a3ed95caeb02: Pull complete

322f573c95ad: Pull complete

Digest: sha256:c44458d624bdb54e4e903bf78910ae89b2996e06a41736e2924a59aee6677369

Status: Downloaded newer image for daocloud.io/daocloud/daomonit:latest

Error: No such image or container: daomonit

* Configuring Daomonit...

[05/22/16 08:12:47] [DEBG] Writing configuration file /etc/daocloud/daomonit.yml

[05/22/16 08:12:47] [INFO] You have successfuly save your config fie.

* Install DaoTools...

% Total    % Received % Xferd  Average Speed  Time    Time    Time  Current

Dload  Upload  Total  Spent    Left  Speed

100  273  100  273    0    0    937      0 --:--:-- --:--:-- --:--:--  938

100  257  100  257    0    0    592      0 --:--:-- --:--:-- --:--:--  592

100  309  100  309    0    0    545      0 --:--:-- --:--:-- --:--:--    0

100  2802  100  2802    0    0  4428      0 --:--:-- --:--:-- --:--:--  4428

* Starting Daomonit...

64a5ea392799a814d31ccf3e23fe68632ff7e215b962ef10803832b4f669bf0d

*********************************************************************

*********************************************************************

***

***  Installed and Started Daomonit with docker

***

***  NOTICE:

***  You can pull image very Fast by dao, For Example:

***    dao pull ubuntu

***

*********************************************************************

*********************************************************************

docker@default:~$

完成,返回网页,会弹出提示:


接入完成

4. 通过加速器获取Gitlab-ce镜像

点击右下角加速器图标,输入gitlab-ce搜索:


通过加速器查找Gitlab镜像

选择镜像,点击部署:

部署

选择版本,拉取镜像(200多兆,10分钟左右)


选择镜像版本
docker@default:~$ dao pull gitlab/gitlab-ce:8.7.6-ce.0

# ----------------------------------------------------------------------------
# DaoCloud ToolBox for Docker
#
# DaoCloud, Inc. (c) 2016
#
# Fastest way to pull image from Docker Hub
# ----------------------------------------------------------------------------

Pulling repository gitlab/gitlab-ce:8.7.6-ce.0 

4b37163c83a4: Starting download                                            
4b37163c83a4: Download complete                                            
 
Pull gitlab/gitlab-ce:8.7.6-ce.0 complete, you can find it with 'docker images'

完成。返回客户端,点击[+NEW]-My Images,可以看到刚刚下载的gitlab-ce镜像(如果没有出现,多点几下,稍等一会儿),点击[CREATE]创建一个实例并启动。


通过镜像创建Gitlab实例

启动完成,忽略右边的502,这是预览,在还没有完全启动起来的时候就开始生成预览了,所以502,好像也没有刷新按钮,忽然它。


启动完成

点击这个502预览,弹出浏览器页面如下,安装基本上算完成了。

安装完成,本地访问

重置密码,确认,返回登录,默认管理员用户是root,输入刚过重置的密码,登录:


设置密码,登录!

5. 端口映射

目前访问的这个地址http://192.168.99.100:32769 是docker虚拟出来的,只能通过本机打开,同一网络的其他机器想要访问的话,还要做下端口映射或是网卡桥接(参考:http://www.tuicool.com/articles/Rr6Jb2 )。

这里介绍一种简单粗暴的方法,装个VirtualBox,打开你会看到一个default实例,其实就是Docker Toolbox生成的那个default:


通过VisualBox做端口映射

设置-网络-端口转发-新增,增加一条
将docker的32769端口转发到本机的内网ip的8088端口

添加端口映射规则

完成:


端口映射完成

注意:其中的32769这个端口在docker中配置,点击端口,修改,保存(会自动重启),之后这个端口就不会变了,如果没改过的话,可能每次重启端口都是不一样的。

通过配置固定Gitlab端口号

6. 有兴趣纯手工安装可以参考

a.http://www.cnblogs.com/zhepama/p/3956567.html
b.https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md

7. 安装sameersbn/gitlab版镜像遇到的问题

网上看了很多教程,很多人装的是sameersbn的版本,这个版本没有集成redis和mysql,需要另外安装。
在使用官方版本之前也试过这个,出现了各种问题,最后虽然安装成功,git pull都ok了,push的时候却提示说Gitlab API不可用。
很多人说是配置问题,需要做如下修改:

gitlab的配置依赖于三个文件:
/home/git/gitlab/config/unicorn.rb:配置ruby提供的服务端口,ip
/home/git/gitlab/config/gitlab.yml:配置gitlab服务的端口,ip
/home/git/gitlab-shell/config.yml:配置gitlab-shell要调用的API接口
这三个文件的配置要保持一致,只需要更改ip和端口就可以了,其他不用动。
unicorn.rb:第40行改成
listen "10.180.108.100:8088", :tcp_nopush => true #本机ip
gitlab.yml:第18行和第19行改成
host: 10.180.108.100 #本机ip
port: 8088 #本机端口
config.yml:第5行改成
gitlab_url: "http://10.180.108.100:8088/" #本机ip
改完后执行gitlab-ctl reconfigure重新加载配置。

但是修改之后依然不可用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 以下原文转载于(https://docs.docker.com/docker-for-mac/)(想找中文版的最新...
    Veekend阅读 7,545评论 0 17
  • 最近在忙着搭建游戏私服的事情,因此前面的关于游戏业务篇师徒系统的内容会迟一点写,这个坑怎么说都还是要填的,不要错过...
    codjust阅读 10,943评论 0 14
  • 本文基于Mac以前都只是听说docker,现在项目组要进行自动打包,以前都是组长超哥搭建的,超哥走后没人会弄的,赶...
    Android_冯星阅读 1,194评论 0 1
  • 岁的脉搏还在跳动,回眸远望,那流淌过的时光,如花一样,花开有时,花谢有期,终成过往,永不复还,连缀成一场清雅而浅淡...
    若小槿兮阅读 602评论 2 1