温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker方式部署gitlab遇到的坑

发布时间:2020-03-30 10:52:05 来源:网络 阅读:1391 作者:hellojinni 栏目:系统运维

安装部署

首先安装docker

yum -y install docker


systemctl enable docker

systemctl start docker


查找gitlab版本

docker search  gitlab


选择官方镜像即可

docker方式部署gitlab遇到的坑


下载镜像

docker pull gitlab/gitlab-ce


启动服务

docker run -itd -v /root:/etc/gitlab -p 80:80 -p 22:22  --name gitlab gitlab/gitlab-ce


下图可以看到本地22端口已经被占用,容器无法启动


docker方式部署gitlab遇到的坑


不映射22端口试试


docker run -itd -v /root:/etc/gitlab -p 80:80   --name gitlab gitlab/gitlab-ce


查看启动日志,启动过程需要一段时间。

docker logs -f gitlab


登录gitlab

http://192.168.60.133/

首次登录需要修改密码


创建一个项目test

docker方式部署gitlab遇到的坑

创建一个测试文件

docker方式部署gitlab遇到的坑

添加公钥

docker方式部署gitlab遇到的坑


查看下载地址,可以看到没有IP,地址其实是容器的ID

docker方式部署gitlab遇到的坑

docker方式部署gitlab遇到的坑

我们需要把地址改为我们的IP地址,使可以下载

我之前启动容器的时候,已经通过-v /root:/etc/gitlab 把容器里面的目录映射到本地目录。

docker方式部署gitlab遇到的坑

编辑配置文件,修改配置

vim /root/gitlab.rb

docker方式部署gitlab遇到的坑

然后重启容器

docker restart gitlab


在登录gitlab查看下项目下载地址,已经变更过来了。

docker方式部署gitlab遇到的坑


下载试试

git clone git@192.168.60.133:root/test.git

git clone ssh://git@192.168.60.133:root/test.git

git clone http://192.168.60.133/root/test.git

docker方式部署gitlab遇到的坑

可以看到http可以下载。这是为什么呢,因为http是通过80端口下载的,ssh是通过22端口下载的,但是22端口没有映射,就算映射了也被宿主机22端口占用了。

所以我们在来试试,修改gitlab配置,开启SSH的服务和端口


docker方式部署gitlab遇到的坑

然后重启gitlab容器

docker restart gitlab

在登录gitlab查看下载地址,可以看到地址已经更改了,自动添加了ssh://和222端口

docker方式部署gitlab遇到的坑

试试下载

docker方式部署gitlab遇到的坑

还是不行,,为什么呢??

因为之前启动容器的时候没有做ssh端口映射,把222端口映射到容器里的22端口,再来试试!!

先删除

docker stop gitlab

docker rm gitlab


最后启动一遍试试

docker run -itd -v /root:/etc/gitlab -p 80:80 -p 222:22   --name gitlab gitlab/gitlab-ce


登录gitlab地址,重新设置账号密码,然后添加一个项目并创建一个文件,别忘了添加客户端的公钥。


最后一遍下载测试,不成功的话就该干啥干啥去吧!!!

docker方式部署gitlab遇到的坑


我屮,,可以啦!!!



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI