1、部署docker: apt install docker -v #查看docker版本,一般都是最新的。 2、查看docker版本 root@kaili:~# docker -v Docker version 18.06.1-ce, build e68fc7a ce代表社区版,EE为企业版 3、利用docker部署gitlab 创建容器外挂目录 gitlab/gitlab-ce容器需要三个目录,分别存放应用数据、日志和配置文件 我们创建三个目录分别存放这些数据,便于GitLab的维护和迁移。即时是GitLab被我们玩坏了,只要这三个文件还存在,我们就可以很简单的重建 sudo mkdir -p /gitlab/data sudo mkdir -p /gitlab/logs sudo mkdir -p /gitlab/config
- 在docker内部署运行gitlab: docker run --detach --hostname 192.168.0.18 --publish 8000:80 --name gitlab --restart always --volume /gitlab/config:/etc/gitlab --volume /gitlab/logs:/var/log/gitlab --volume /gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
网上有指定映射https 443以及ssh的端口,具体参考:
-
gitlab的使用,可以参考:https://blog.51cto.com/caiyuanji/2114796 在gitlab页面创建的用户需在本地也创建同样的用户,并登录到gitlab的页面创建项目,项目所属的组应是共同的组,有权限登录的如开发人员push代码和pull代码的权限,在本地切换用户然后创建秘钥(已有的秘钥直接使用即可); 创建秘钥: ssh-keygen -t rsa -C 1@ 一路回车,默认保存到.ssh/里 id_rsa为私钥,在Jenkins的系统设置ssh配置和gitlab的凭据里都要放公钥; id_rsa.pub为公钥,在gitlab的setting里>>SSH KEYS里设置公钥,一个公钥只能存放在一个用户里,不然会报错。
-
问题及解决: docker构建gitlab镜像的时候指定了端口映射 -p 8022:22 (容器的8022映射到外部的22ssh端口),如果用22:22会报错,不知官网说这样可以是怎么可以的。 如果指定了端口映射,就要修改gitlab配置文件里ssh的默认端口 如果出现页面502错误,排除权限,及端口占用问题,还需修改容器映射时候的端口,如我在构建时使用的8000端口,前提是这些端口都没被占用。