iT邦幫忙

1

docker compose 建置 gitlab 網路問題

想請教一下

以下是我參考忘路上寫的 docker compose

version: '3.2'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    hostname: gitlab.example.com
    container_name: gitlab_dc
    restart: always
#    privileged: true
    volumes:
      - /gitlab/config:/etc/gitlab
      - /gitlab/logs:/var/log/gitlab
      - /gitlab/data:/var/opt/gitlab
    ports:
      - '443:443'
      - '80:80'
      - '22:22'
#    networks:
#      - devel-net

#networks:
#  devel-net:

有幾個小問題想請問:

  1. 是否有需要設定 network?
  2. hostname 有何用途? 因為我在本機架起來之後,也是用 localhost:80 進去看
    用 hostname:80 反而開不起來。 但是在 git push 後,不管是用 localhost 還是 hostname 去開上傳的程式碼來看,都出現 localhost refuse to connect 以及 hostname's server IP address could not be found 。是我少設定了什摸嘛?
  3. 如果我想在 GCP\AWS 之類的服務上,開 vm 架 gitlab,我docker compose 的寫法是否又需要大改? 還要設定對外開放ip還是domain name之類的? (小弟是網路苦手,還請賜教)

抱歉,問題有點多
希望有高手可以指點迷津

感恩~

2 個回答

2
YEEEEEEEE
iT邦見習生 ‧ 2020-03-20 10:55:33

嗨嗨~

回復你的3
1.如果你把docker compose寫好,帶到任何一個docker的環境,都可以建立一樣的內容出來。
2.設定對外ip or doamin的部分,你只能限制連進來的部分,在iptables中有一個docker-user chain,你可以在那邊設定,不過他是限制所有連線至docker服務中,如果有單一container要鎖ip & domain的話,就得再找找其他方法了(我是用CentOS 7)。

gitlab架設上的問題,幫忙不太到你~~
我用laradock裡的gitlab,照著laradock的文件可以啟動gitlab,我是卡在gitlab-runner跑不起來,或許你也可以參考一下laradock如何設置gitlab的。

以上淺見,如果錯誤再請糾正,我會非常感謝!!

2
froce
iT邦大師 1 級 ‧ 2020-03-20 17:09:41

1.可以不用加,Docker會自己建,但是加了也沒啥問題。
2.hostname是docker run container時,代的參數,可能會跟gitlab的程式設定有關,依你的狀況可以設成localhost試試,或是自己建DNS把hostname加入與server的ip對應。
你在docker外部網路存取,又沒DNS,電腦怎麼可能認出那段網址是那個ip?
3.請看上面那位的回答,我只是要吐槽現在gcp、aws不可能不支援docker,那裡需要先架vm再來弄docker?

我要發表回答

立即登入回答