利用docker安裝中文版GitLab

GitLab是什么

GitLab 是一個用于倉庫管理系統(tǒng)的開源項目怠苔,使用Git作為代碼管理工具郊供,并在此基礎(chǔ)上搭建起來的web服務(wù)和GitHub差不多昭齐,只不過是開源的含长。

為什么用docker安裝GitLab

docker真是個好東西,部署環(huán)境畔规,以及軟件安裝都特別方便局扶,所以我選擇使用docker來安裝GitLab。這里我選擇安裝中文版的GitLab叁扫。

一详民、安裝docker

docker安裝可以參照我之前的文章基于腳本安裝docker

二、使用 Docker Compose

正常部署時陌兑,可以使用 Docker Compose 來配置啟動沈跨。建立一個 docker-compose.yml,內(nèi)容如下:

version: '2'
services:
    gitlab:
      image: 'twang2218/gitlab-ce-zh:11.1.4'
      restart: unless-stopped
      hostname: 'gitlab.example.com'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.example.com'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          # 需要配置到 gitlab.rb 中的配置可以在這里配置兔综,每個配置一行饿凛,注意縮進(jìn)。
          # 比如下面的電子郵件的配置:
          # gitlab_rails['smtp_enable'] = true
          # gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
          # gitlab_rails['smtp_port'] = 465
          # gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
          # gitlab_rails['smtp_password'] = "password"
          # gitlab_rails['smtp_authentication'] = "login"
          # gitlab_rails['smtp_enable_starttls_auto'] = true
          # gitlab_rails['smtp_tls'] = true
          # gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
      ports:
        - '80:80'
        - '443:443'
        - '22:22'
      volumes:
        - config:/etc/gitlab
        - data:/var/opt/gitlab
        - logs:/var/log/gitlab
volumes:
    config:
    data:
    logs:

然后使用命令 docker-compose up -d 來啟動软驰,停止服務(wù)使用 docker-compose down涧窒。
如果你的服務(wù)器有域名,將上面的 gitlab.example.com 替換為實際域名锭亏。
實驗時纠吴,也可以直接修改 /etc/hosts方便測試。比如:

127.0.0.1   gitlab.example.com

三慧瘤、使用 Docker 命令啟動

直接使用 docker 命令要比使用 docker-compose 繁瑣一些戴已,但是可以達(dá)到一樣的效果。
首先锅减,Docker 容器數(shù)據(jù)應(yīng)該存儲于卷中糖儡,在這里我們使用最簡單的本地命名卷:

  • gitlab-config 存儲 GitLab 配置信息
  • gitlab-data 存儲數(shù)據(jù)庫
  • gitlab-logs 存儲日志
    然后,我們需要創(chuàng)建自定義網(wǎng)絡(luò)怔匣,從而讓容器運行于獨立的網(wǎng)絡(luò)中握联,區(qū)別于默認(rèn)網(wǎng)橋。
docker network create gitlab-net

準(zhǔn)備好后,開始運行 Gitlab 容器:

docker run -d \
    --hostname gitlab.example.com \
    -p 80:80 \
    -p 443:443 \
    -p 22:22 \
    --name gitlab \
    --restart unless-stopped \
    -v gitlab-config:/etc/gitlab \
    -v gitlab-logs:/var/log/gitlab \
    -v gitlab-data:/var/opt/gitlab \
    --network gitlab-net \
    twang2218/gitlab-ce-zh:11.1.4

如果需要進(jìn)入容器修改配置文件金闽,可以用 docker exec 命令進(jìn)入容器:

$ docker exec -it gitlab bash
root@09f6e32c528c:/# vi /etc/gitlab/gitlab.rb
root@09f6e32c528c:/# gitlab-ctl reconfigure
Starting Chef Client, version 12.12.15
resolving cookbooks for run list: ["gitlab"]
...

如需停止服務(wù)纯露,直接運行 docker stop gitlab

如需卸載服務(wù)及相關(guān)內(nèi)容代芜,可以執(zhí)行:

docker stop gitlab
docker rm gitlab
docker network rm gitlab-net
docker volume rm gitlab-config gitlab-datagitlab-logs

注意事項

登錄

啟動 GitLab 后埠褪,第一次訪問時,會要求設(shè)置 root 用戶的密碼蜒犯,密碼不得小于8位。設(shè)置好后荞膘,就可以登錄使用了罚随。
對于早期版本,可以使用默認(rèn)的 root 用戶密碼 5iveL!fe 登錄羽资。

配置 SSH 端口

這里運行示例中淘菩,無論是使用 docker-compose.yml 還是 docker run 都使用的是 SSH 默認(rèn)端口 22 去映射容器 SSH 端口。其目的是希望比較自然的使用類似 git@gitlab.example.com:myuser/awesome-project.git 的形式來訪問服務(wù)器版本庫屠升。但是潮改,宿主服務(wù)器上默認(rèn)的 SSH 服務(wù)也是使用的 22 端口。因此默認(rèn)會產(chǎn)生端口沖突腹暖。

修改宿主的 SSH 端口

修改宿主的 SSH 端口汇在,使用非 22 端口。比如修改 SSHD 配置文件脏答,/etc/ssh/sshd_config糕殉,將其中的 Port 22 改為其它端口號,然后 service sshd restart殖告。這種方式比較推薦阿蝶,因為管理用的宿主 SSH 端口改成別的其實更安全。

修改容器的 SSH 端口

修改容器的端口映射關(guān)系黄绩,比如將 -p 22:22 改為 -p 2222:22羡洁,這樣 GitLab 的 SSH 服務(wù)端口將是 2222。這樣做會讓使用 GitLab 的 SSH 克隆爽丹、提交代碼有些障礙筑煮。這種情況要改變用戶使用 Git 的鏈接方式。
要從之前的:

git clone git@gitlab.example.com:myuser/awesome-project.git

改為明確使用 ssh:// 的 URL 方式粤蝎。

git clone ssh://git@gitlab.example.com:2222/myuser/awesome-project.git
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咆瘟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子诽里,更是在濱河造成了極大的恐慌袒餐,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異灸眼,居然都是意外死亡卧檐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門焰宣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霉囚,“玉大人,你說我怎么就攤上這事匕积∮蓿” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵闪唆,是天一觀的道長盅粪。 經(jīng)常有香客問我,道長悄蕾,這世上最難降的妖魔是什么票顾? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮帆调,結(jié)果婚禮上奠骄,老公的妹妹穿的比我還像新娘。我一直安慰自己番刊,他們只是感情好含鳞,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芹务,像睡著了一般民晒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锄禽,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天潜必,我揣著相機(jī)與錄音,去河邊找鬼沃但。 笑死磁滚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宵晚。 我是一名探鬼主播垂攘,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淤刃!你這毒婦竟也來了晒他?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤逸贾,失蹤者是張志新(化名)和其女友劉穎陨仅,沒想到半個月后津滞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡灼伤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年触徐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狐赡。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡撞鹉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颖侄,到底是詐尸還是另有隱情鸟雏,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布览祖,位于F島的核電站孝鹊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏穴墅。R本人自食惡果不足惜惶室,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一温自、第九天 我趴在偏房一處隱蔽的房頂上張望玄货。 院中可真熱鬧,春花似錦悼泌、人聲如沸松捉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隘世。三九已至,卻和暖如春鸠踪,著一層夾襖步出監(jiān)牢的瞬間丙者,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工营密, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留械媒,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓评汰,卻偏偏與公主長得像纷捞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子被去,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容