docker gitlab 如何git clone?

发布于 2022-09-04 07:18:52 字数 677 浏览 12 评论 0

它给的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,或者其他地方的,都是同一份?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

永言不败 2022-09-11 07:18:52

因为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
鹤舞 2022-09-11 07:18:52

用法有问题吧,肯定不是用docker的container name 做域名啊,你要绑一个域名或者用ip+端口访问才能clone的。

泡沫很甜 2022-09-11 07:18:52

@Tairy ,话说我上面不是用了域名+端口吗?

就是localhost:8100啊,但它会报500错误。。

你能说一下你的绑定是怎么绑吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文