在成功完成docker的基礎實驗以後,嘗試着使用docker搭建本身的gitlab,用來存放本身的代碼。本文主要介紹使用docker搭建gitlab過程當中遇到的問題,個人服務器系統是:Ubuntu Server 14.04.1 LTS 64位html
在搭建過程當中遇到了不少問題,比較突出的三個問題是:git
1.docker下載鏡像緩慢,每次須要大概幾個小時;docker
2.docker下載完成以後,運行鏡像服務器死機;ubuntu
3.docker安裝併成功運行gitlab容器以後,訪問gitlab發現一直出現502錯誤。vim
下面將這三個問題穿插在安裝搭建gitlab過程當中進行解決,有的問題解決方案可能不止一種,也有的問題會與服務器的版本,服務器的配置相關。服務器
1、gitlab鏡像安裝準備工做ssh
1.對於上述提到的第三個問題,由於個人服務器配置比較low(1G,50G),而GitLab對系統硬件有要求,主要就是內存大於2G,不然或碰到奇怪的錯誤。因此我通過幾回嘗試安裝一直顯示502錯誤(糾結了三四天,查了兩天的資料)。沒辦法,窮啊,那只有找解決方案。終於找到一篇相關的文章小型雲服務器搭建GitLab遇到的坑 ,核心思想是增長服務器的swap空間。這個問題居然成功解決。gitlab
查看內存信息:阿里雲
sudo free -h
ubuntu@VM-50-13-ubuntu:~$ free -h total used free shared buffers cached Mem: 993M 181M 812M 376K 34M 77M -/+ buffers/cache: 70M 923M Swap: 0B 0B 0B
能夠看到swap的空間爲0B ,接下來增長swap空間具體操做:spa
sudo -i # 切換root權限 dd if=/dev/zero of=/var/swap bs=1024 count=2048000 #分區大小設爲2g
ls -lh /var/swap # 驗證
mkswap /var/swap #啓動分區
swapon /var/swap #激活
執行完上述命令,再次使用free -h命令能夠看到Swap變成2GB
2、安裝完成docker(可參考docker----起步)。
在下載鏡像的時候,發現下載的很慢,很捉雞。須要配置加速器,docker----起步文章中配置的加速器,好像與個人系統彷佛不搭噶,最後看騰訊雲的鏡像加速器才發現,我配置加速器的地方錯了,由於個人系統是Ubuntu14 因此應該配置在/etc/default/docker中。最後我將加速器配置成阿里雲的鏡像加速器 在註冊完成以後,我得到了個人專屬加速器地址(雖然不知道真假),具體查看方式是,在容器鏡像服務-->鏡像加速器中能夠看到。
vim /etc/default/docker #而後修改其中的DOCKER_OPTS
如個人配置修改結果爲:
# Use DOCKER_OPTS to modify the daemon startup options. DOCKER_OPTS="--registry-mirror=https://dg9t1zch.mirror.aliyuncs.com" # 改地址爲阿里雲給個人鏡像加速器地址
重啓docker服務後,而後執行 sudo docker info ,能夠看到輸出中有以下信息:
Registry Mirrors: https://dg9t1zch.mirror.aliyuncs.com/
而後下載鏡像,我這裏的鏡像是阿里雲上的一個鏡像,執行命令,你會發現下載速度很是快:
docker run --detach \ --publish 443:443 --publish 10080:80 --publish 22: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 \ twang2218/gitlab-ce-zh:latest # 該鏡像是aliyun上的一個鏡像,地址https://cr.console.aliyun.com/#/imageDesc/cn-hangzhou/lab99/gitlab-ce-zh/detail
3、SSH端口和這裏的22端口可能會有衝突,致使鏈接不上去,所以設置ssh端口爲別的端口就能夠了
vim /etc/ssh/sshd_config # 找到裏邊對應的Port,將22修改成1022或別的端口
重啓ssh服務。
而後訪問服務器地址+10080端口,有時候仍是會出現502錯誤,須要稍等一會,而後從新刷新幾回就能夠了。
看到配置完成的gitlab特別開心=-=。