docker gitlab 如何git clone?
PHP中文网
PHP中文网 2017-04-26 09:01:10
0
3
1063

它給的SSH和http位址是這樣的:

git@6b30d4a6a162:compontent/gitlab-test-component.git
http://6b30d4a6a162/compontent/gitlab-test-component.git

6b30d4a6a162是gitlab的container Info的ID的一部分:

6b30d4a6a16279326a135ee2c7bf7b20094b3199a299ac6345735dd3

我透過上面兩個位址都無法git clone。

因為我用virtualbox簡單的做了一下連接埠映射,所以我嘗試用

git clone http://localhost:8100/compontent/gitlab-test-component

但會報錯:500

有知道的嗎?

另外想問一下,ssh-key是不是只要生成一次就行了,可以到處放github、gitlab,或者其他地方的,都是同一份?

PHP中文网
PHP中文网

认证0级讲师

全部回覆(3)
过去多啦不再A梦

因為host的22埠已經被佔用了

在docker run 的時候將container的22埠對應到host的其他連接埠如2222

docker run gitlab -p 2222:22

需要在 gitlab 的設定檔裡指定url

# 修改 /etc/gitlab/gitlab.rb 文件第一行

external_url 'http://192.168.1.23/'

這樣在專案倉庫裡顯示出來的就是

git@192.168.1.23:2222/shadowsocks/shadowsocks.git

然後就能使用git了

git clone git@192.168.1.23:2222/shadowsocks/shadowsocks.git

這時候需要在開發機器上設定 .ssh/config 文件,才能正常使用

以下是一個使用 docker 運行gitlab的範例

docker run --name='gitlabend' --link gitlab_mysql:mysql \
  --link gitlab_redis:redisio \
  -e 'GITLAB_PORT=10080' \
  -e 'GITLAB_SSH_PORT=10022' \
  -p 10022:22 -p 10080:80 \
  -e 'GITLAB_HOST=xxxx' \
  -e 'GITLAB_EMAIL=user@mail.com' \
  -e 'SMTP_ENABLED=true' \
  -e 'SMTP_DOMAIN=qq.com' \
  -e 'SMTP_HOST=smtp.exmail.qq.com' \
  -e 'SMTP_PORT=25' \
  -e 'SMTP_STARTTLS=false' \
  -e 'SMTP_USER=user@mail.com' \
  -e 'SMTP_PASS=password' \
  -e 'SMTP_AUTHENTICATION=login' \
  -v /opt/gitlab/data:/home/git/data \
  -v /opt/gitlab/log:/var/log/gitlab \
  sameersbn/gitlab:latest
Ty80

用法有問題吧,肯定不是用docker的container name 做網域啊,你要綁一個網域或用ip+埠存取才能clone的。

大家讲道理

@Tairy ,話說我上面不是用了網域+連接埠嗎?

就是localhost:8100啊,但它會報500錯誤。 。

你能說一下你的綁定是怎麼綁嗎?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板