MacOSX本身不支持Docker,需要安裝DockerToolbox來使用Docker。
1.下載DockerToolbox,可以從百度網(wǎng)盤下載,版本是1.8.3,下載地址:
http://pan.baidu.com/s/1c00SMAW
2.安裝Docker
執(zhí)行安裝程序,按照提示一路操作即可。會安裝VirtualBox虛擬機(jī),Kitematic管理程序。
用Kinematic來管理Docker非常簡單,完全圖形化的界面,大大簡化了Docker容器的安裝和配置。
3.安裝gitlab
我用的gitlab容器是sameersbn/gitlab,這個(gè)是我唯一搭建成功的容器,其它的容器總是有各種問題。這個(gè)容器依賴于redis和postgresql容器,這兩個(gè)容器需要單獨(dú)安裝。
3.1 準(zhǔn)備工作
通過Kitematic打開DOCKER CLI命令窗口,在Kinematic界面的左下角,點(diǎn)一下就會彈出一個(gè)命令窗口。
3.2安裝redis容器
docker?run?--name=redis?-d?sameersbn/redis
3.3 安裝postgresql容器
mkdir?-p?$HOME/postgresql/data
docker run --name=postgresql -d -e 'POSTGRES_USER=gitlab' -e 'POSTGRES_PASSWORD=password' -e 'POSTGRES_DATABASE=gitlabhq_production' -v /$HOME/postgresql/data:/var/lib/postgresql postgres:9.4.4
這里需要選9.4.4版本的postgresql容器,新版本有些問題,容器關(guān)閉后容器的內(nèi)容不能持久保存到本地硬盤上,下次打開容器時(shí)會發(fā)現(xiàn)辛苦做的配置都沒了。
3.4 安裝gitlab容器
mkdir?-p?$HOME/gitlab/data
docker?run?--name?gitlab?-d?\
? ? --link postgresql:postgresql?--link redis:redisio?\
--publish 8022:22?--publish 8090:80?\
--env'GITLAB_PORT=8090'--env'GITLAB_SSH_PORT=8022'\
--env'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string'\
? ? --volume?/$HOME/gitlab/data:/home/git/data?\
twang2218/gitalb-ce-zh
通過以上3步,gitlab容器就安裝完成了,安裝并步復(fù)雜。
4 啟動和停止容器
啟動:
docker start redis
docker start?postgresql
docker start gitlab
停止:
docker stop redis
docker?stoppostgresql
docker?stop?gitlab
在啟動時(shí)注意啟動順序,否則啟動gitlab容器時(shí)會報(bào)錯(cuò),因?yàn)間itlab容器依賴于redis和postgresql這兩個(gè)容器,所以要先啟動redis和postgresql。
5 使用
容器啟動成功后,在瀏覽器中打開,http://本機(jī)ip:8090,就可以看到管理界面了,注意地址不能用localhost,只能用ip。
6 修改端口
6.1.進(jìn)入容器 之后就可以執(zhí)行g(shù)itlab-ctl命令了
docker exec -it gitlab bash
修改默認(rèn)的gitlab nginx的web服務(wù)80端 /var/opt/gitlab/nginx/conf/gitlab-http.conf
vim/var/opt/gitlab/nginx/conf/gitlab-http.conf
#listen *:80; //注釋:把前面的#去掉,修改為8090
listen *:8090;
cd /var/opt/gitlab/nginx/conf
vim gitlab-http.conf

修改gitlab.yml文件?
cd /opt/gitlab/embedded/service/gitlab-rails/config?
vim gitlab.yml

重啟Gitlab??
gitlab-ctl restart
這樣基本就可以了 ,偶爾會報(bào)502錯(cuò)誤,稍微等一會就好了。
