docker gitlab 如何git clone?
问题描述
它给的SSH和http地址是这样的:
git@6b30d4a6a162:compontent/gitlab-test-component.githttp://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,或者其他地方的,都是同一份?
问题解答
回答1:因为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回答2:
用法有问题吧,肯定不是用docker的container name 做域名啊,你要绑一个域名或者用ip+端口访问才能clone的。
回答3:@Tairy ,话说我上面不是用了域名+端口吗?
就是localhost:8100啊,但它会报500错误。。
你能说一下你的绑定是怎么绑吗?
相关文章:
1. Android明明可以直接分享,为什么还要用微信开放平台、微博开放平台的sdk?2. javascript - 单页面应用怎么监听ios微信返回键?3. angular.js - 在ionic下,利用javascript导入百度地图,pc端可以显示,移动端无法显示4. nginx - 关于javaweb项目瘦身问题,前期开发后,发现项目占用存贮空间太大,差不多1.2个G,怎么实现瘦身,动态页面主要是jsp。5. css3 - 求教个问题,关于响应式布局,跟ipad有关,媒体查询失效?6. javascript - 如何保证几个ajax提交成功;7. css - 浏览器缩放分辨率为什么布局会变8. angular.js - 百度支持_escaped_fragment_吗?9. vue.js - vue apache 代理设置10. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?
