天天看點

Ubuntu 18.04 使用docker 部署gitlab并且使用自定義端口号

  • 搭建原因

    兩個月前我搭建了公司的docker(無法自定義端口,),當初隻想着把托管在GitHub的項目代碼放在公司的伺服器上面,後來忙着修改人臉伺服器代碼,忘記了,這個月由于上司提的需求比較多,還是托管回來比較友善。

    是以重新進行搭建,由于百度上大部分文章寫的有一些問題,在此進行記錄。

    這是搭建成功的,并且http克隆的端口也正常,如下圖

    Ubuntu 18.04 使用docker 部署gitlab并且使用自定義端口号
  1. 首先安裝docker(阿裡雲自己有源,是以可以使用自帶的源安裝)

    但是還是建議使用清華大學的源

    Ubuntu 使用者可以參考下面

  • 如果你安裝過dockers,先删除

    sudo apt-get remove docker docker-engine docker.io

  • 首先安裝依賴

    sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

  • 信任 Docker 的 GPG 公鑰

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  • 對于 amd64 架構的計算機,添加軟體倉庫:

    sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"

  • 如果你是樹莓派或其它ARM架構計算機

    echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list

  • 最後執行

    sudo apt-get update

    sudo apt-get install docker-ce

  • 這樣等待一會就安裝完成
  1. 拉取gitlab鏡像

    這部分可按照自己的喜歡拉取最新的版本,或者中文版本

    https://hub.docker.com/search?q=gitlab-ce-zh&type=image

    由于twang2218/gitlab-ce-zh大佬暫時沒維護

    是以使用了

    這個版本

  • 拉取鏡像

    docker pull fjcanyue/gitlab-ce-zh:latest

  • 建立映射檔案夾
    Ubuntu 18.04 使用docker 部署gitlab并且使用自定義端口号
config  data  logs
           
  • 運作鏡像

    建議使用docker-compose

    安裝:

    sudo pip install docker-compose

    建立一個docker-compose.yml檔案放在您合适的位置
version: '2'
services:
    gitlab:
      image: 'fjcanyue/gitlab-ce-zh:latest'
      restart: always
      hostname: '192.168.1.1'# 192.168.1.1請改為您的ip位址或者域名
      environment:
        container_name: gitlab
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.1.1:9001/'# 192.168.1.1請改為您的ip位址或者域名
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          # 需要配置到 gitlab.rb 中的配置可以在這裡配置,每個配置一行,注意縮進。
          # 比如下面的電子郵件的配置:
          # gitlab_rails['smtp_enable'] = true
          # gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
          # gitlab_rails['smtp_port'] = 465
          # gitlab_rails['smtp_user_name'] = "[email protected]"
          # 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'] = '[email protected]'
      ports:
        - '9001:9001'#就這個地方 請不要使用 81:80 80:80 xxxx:80 雖然可以通路但是無法使用http克隆
        - '5443:443'
        - '2222:22'
      volumes:
        - '/home/docker/gitlab/config:/etc/gitlab'  #前面的是您自己的位址 後面是映射的位址
        - '/home/docker/gitlab/logs:/var/log/gitlab'
        - '/home/docker/gitlab/data:/var/opt/gitlab'
           
  • 運作docker-compose.yml

    使用預設名字的docker-compose.yml

    docker-compose up -d

    非預設名字比如mydocker.yml

    docker-compose -f mydocker.yml up -d

運作結束 稍等一會 打開位址 看到 已經成功啦。