docker方式部署gitlab遇到的坑
安装部署
首先安装docker
yum -y install docker
systemctl enable docker
systemctl start docker
查找gitlab版本
docker search 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端口已经被占用,容器无法启动
不映射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
创建一个测试文件
添加公钥
查看下载地址,可以看到没有IP,地址其实是容器的ID
我们需要把地址改为我们的IP地址,使可以下载
我之前启动容器的时候,已经通过-v /root:/etc/gitlab 把容器里面的目录映射到本地目录。
编辑配置文件,修改配置
vim /root/gitlab.rb
然后重启容器
docker restart gitlab
在登录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
可以看到http可以下载。这是为什么呢,因为http是通过80端口下载的,ssh是通过22端口下载的,但是22端口没有映射,就算映射了也被宿主机22端口占用了。
所以我们在来试试,修改gitlab配置,开启SSH的服务和端口
然后重启gitlab容器
docker restart gitlab
在登录gitlab查看下载地址,可以看到地址已经更改了,自动添加了ssh://和222端口
试试下载
还是不行,,为什么呢??
因为之前启动容器的时候没有做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地址,重新设置账号密码,然后添加一个项目并创建一个文件,别忘了添加客户端的公钥。
最后一遍下载测试,不成功的话就该干啥干啥去吧!!!
我屮,,可以啦!!!
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1)
- 详解Docker+Jenkins+Gitlab+Django应用部署实践
- centos7 在docker swarm中运行Jenkins,利用gitlab的webhook触发自动部署脚本
- 使用Docker部署Gitlab
- docker中部署odoo遇到的问题 yaml.parser.ParserError
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)
- 基于docker的gitlab部署及迁移
- Docker-compose一键部署gitlab中文版的方法步骤
- 在搭建基于jenkins+maven+git+docker的全自动化部署时遇到的问题
- docker+jenkins+gitlab+dockerfile部署配置
- 多种方式(含docker容器)实现零停机时间(Zero-Downtime)部署
- centos7使用docker部署gitlab-ce-zh应用
- Docker之Gitlab部署
- .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker
- Docker中部署mysql服务的方法及遇到的坑
- Docker实战:使用Docker安装部署Gitlab
- Docker搭建gitlab服务器让GitLab安装部署更简
- Docker方式部署redis-cluster
- Ubuntu 18.04 使用Docker镜像方式安装GitLab
- docker jenkins gitlab 自动化部署(java python项目)