首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用git客户端访问gitlab码头?

如何使用git客户端访问gitlab码头?
EN

Stack Overflow用户
提问于 2015-04-21 06:19:33
回答 1查看 2.9K关注 0票数 1

我已经成功地运行了gitlab docker image,但无法使用git客户端访问它。

(1)我发现有3个IP地址:

( a)主机IP:10.137.20.113

b)附加gitlab运行容器,显示其IP:172.17.0.13

( c)登录网页,显示项目地址:ssh: git@192.168.59.103:root/test.git

为什么会有IP地址(192.168.59.103)?

(2)我在root中添加了SSH用户密钥,但无法使用ssh -p 2222 10.137.20.113命令访问服务器。

如何使用git客户端访问gitlab

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-21 06:28:01

192.168.59.103是典型的boot2docker ip,它是承载运行容器的微型核心Linux的VirtualBox机器的IP (带有172.17.0.13的容器)。

如果您想从客户端访问任何端口,则需要确保:

  • GitLab容器使用映射到Linux主机:docker run -p 2222:22 -p 80:80 -p 443:443 ...中的端口的公开端口运行。
  • 这些端口在其中定义的VirtualBox网络定义"boot2docker-vm“中被重定向:

例如:

代码语言:javascript
复制
boot2docker stop
VBoxManage.exe controlvm "boot2docker-vm" natpf1 "udp-port80,udp,,80,,80";
VBoxManage.exe controlvm "boot2docker-vm" natpf1 "udp-port80,udp,,443,,443";

( 443,2222应已出口)

否则,客户端(VirtualBox之外)在访问192.168.59.103时将无法看到这些端口。

在执行部分案件中,不需要192.168.59.103。RedHat服务器的IP就足够了(因为它直接承载了码头服务)。

ssh -p 2222 10.137.20.113只能与正确的用户(git)一起工作。

代码语言:javascript
复制
 ssh -p 2222 git@10.137.20.113

只有当公共ssh密钥已在服务器上注册。

OP报告在评论中有错误:

代码语言:javascript
复制
git-upload-pack '2222:root/test.git'

我分两个步骤解决了这个问题:

  1. 2222中添加端口~/.ssh/config
  2. 使用git clone git@10.137.20.113:root/test.git

您可以在“~/.ssh/config”中看到一个更完整的由于权限问题,在Windows中使用ssh失败示例。

在测试之后,这也可以:

代码语言:javascript
复制
git clone ssh://git@10.137.20.113:2222/root/test.git

(所以用/代替:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29764364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档