今天闲着无聊,于是乎想用最近很流行的docker容器搭建一个自己的gitlab的服务器,关于docker和gitlab就不多介绍了,网上查了很多资料,貌似没有一个统一的方法,很乱很杂,而且很容易误导人,其实搭建一个私有gitlab服务器其实没有那么难,说一下今天我用的方式。

  网上的方法很多,无外乎两种:

  1.分别拉取redis,gitlab,postgresql(mysql也行)三个镜像,然后不拉不拉不拉...感觉后面好麻烦(个人还是比较懒的)。

  2.通过docker-compose快速构建,我反正是没成功..

  后来经过查阅资料发现,gitlab/gitlab-ce这个镜像包含了gitlab运行所需要的所有组件,其实用这一个镜像就够了,下面开始正文。

  主要步骤:

  1.拉取gitlab/gitlab-ce镜像,建议使用网易的镜像仓库地址,快到飞起,地址:hub.c.163.com/gutenye/gitlab-ce:latest

docker pull hub.c.163.com/gutenye/gitlab-ce:latest

  2.创建并并行一个容器,输入以下命令:

docker run -i \
--hostname localhost \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
--volume /srv/gitlab/logs/reconfigure:/var/log/gitlab/reconfigure \
hub.c.163.com/gutenye/gitlab-ce:latest

  \ 代表换行符,以上参数我就不讲解了,就说一个,也是我在本次过程中遇到的很大的一个坑:注意那个 -i 参数,我刚开始写的时候是: --detach ,--detach(-d)的意思是以后台的方式运行,当你用这个参数的时候控制台直接返回给你一个容器ID,没有其他任何信息的输出,当时我就懵逼了,因为查阅资料说要等几分钟的配置工作,我以为会打印日志信息出来,然而并没有,当时真的很懵逼,不过还好在StackOverflow上查到了原因,原来,-d的意思是以后台程序运行,也就是说塔虽然直接返回给了你一个容器ID,但它其实是有在运行的,只不过没有打印信息出来,当你该用 -i (可以理解为在控制台打印日志)参数运行时,打印结果就出来了。下面上两张对比图。

  以 --detach(-d)方式运行

  是不是很坑爹?什么信息也没有,只有一个67开头的容器ID,其实此时后台是有程序在跑的,也就是说你的gitlab其实是在后台跑起来了。

  以 -i 方式运行 

  第一张图是在公司用公司电脑win7跑的,第二张是在自己电脑上win10系统跑的,然后等大概两分钟的样子,等它配置完就可以登陆192.168.99.100了。然后进入gitlab主页了

  另外,我用的是windows系统,请区分windows系统中docker宿主机和linux系统中docker宿主机的不同,因为docker的运行依赖linux环境,所以在windows系统中运行docker时,就必须先虚拟出来一个linux虚拟机,这也是docker在windows下安装时(我用的DockerQuickStartTerminal)也会跟着安装一个virtualbox的原因,此时docker宿主机指的是virtualbox中新建的那个linux虚拟机,宿主机IP指的也是那个linux虚拟机的IP,如果是在linux环境下使用docker,那么宿主机就是本机。

基于docer搭建私有gitlab服务器的更多相关文章

  1. 搭建私有 Nuget 服务器教程(1)

    对于 .NET 开发者来说,nuget 是必不可少的程序包管理工具.相应地,大部分开发团队都需要在内部搭建 Nuget 服务器,以管理私有 nupkg 包.本教程所使用的 Nuget 服务器,不是微软 ...

  2. linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  3. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

  4. 使用BaGet 搭建私有nuget 服务器

    使用BaGet 搭建私有nuget 服务器 netNugetBaGet 引言 为了增强代码的安全性和企业团队开发的高效性,搭建私有的package 包管理服务器是很有必要的,搭建私有的类库管理服务有以 ...

  5. NET Core:搭建私有Nuget服务器以及打包发布Nuget包

    docker 安装 https://www.cnblogs.com/liuxiaoji/p/11014329.html 1.使用docker搭建私有Nuget服务器 docker run -d -p ...

  6. [开发笔记usbTOcan]用树莓派搭建私有Git服务器

    0 | 思路 在开始编程前,先创建一个版本管理库,以前一直用SVN,但目前用Git的还是比较,正好利用这个机会学习GIt. 想过使用Github提供的免费服务器,但项目目前还没有做开源的准备,于是就有 ...

  7. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器

    简介 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关 ...

  8. 版本控制系统之基于httpd搭建私有git仓库

    在上一篇博客中,我们主要聊到了git的基本工作原理和一些常用的git命令的使用:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13787701.html:今天我 ...

  9. 用腾讯云Gogs搭建私有git服务器

    前言 经常有需要写不能公开代码的项目,所以只好自己搭建一个私人的git服务器 Gogs的好处在于比Gitlib轻量化了好多,而且是国人写的,官方主页也是中文的 Gogs首页 腾讯云服务器配置: Ubu ...

随机推荐

  1. HDU - 1846 Brave Game 巴什博弈

    思路:直接判断n是不是m+1的倍数,若是先手则输,否则赢. AC代码 #include <cstdio> #include <cmath> #include <algor ...

  2. linux_group总结

    group_name:passwd:GID:user_list 在/etc/group 中的每条记录分四个字段: 第一字段:用户组名称: 第二字段:用户组密码: 第三字段:GID 第四字段:用户列表, ...

  3. java读取数据写入txt文件并将读取txt文件写入另外一个表

    package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...

  4. SQL语句学习

    看似简单,但其实包含很多技巧思维 1.查询课程表中所有科目大于80的学生 select distinct name from student where name not in (select nam ...

  5. Git 版本退回commit

    有的时候错误提交了commit,需要版本退回. 先用git log查看一下节点版本号commit_id $ git log 再用git reset退回 $ git reset -soft commit ...

  6. 【java学习笔记】Properties

    Properties:可以持久化的映射,规定键和值的类型是String. Properties对象必须放到.properties文件中,其中properties文件默认为西欧编码,也因此不存储中文. ...

  7. jqeury显示前几个,隐藏后几个,点击后隐藏前几个显示后几个

    <script type="text/javascript"> $(".ul li").each(function(){ if($(this).in ...

  8. 子沐代码段——Flask+Mysql+Echarts可视化

    前言 子沐不久前,使用Scrapy爬取了智联招聘的职位数据,并部署到服务器上,设置了定时任务.数据量日益庞大.子沐在想,数据不过只是存在数据库里,并没有什么意义,所以子沐萌发一个想法,那就是做一个可视 ...

  9. Android的ListView异步加载图片时,错位、重复、闪烁问题的分析及解决方法

    Android ListView异步加载图片错位.重复.闪烁分析以及解决方案,具体问题分析以及解决方案请看下文. 我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图 ...

  10. Caused by: org.h2.jdbc.JdbcSQLException: Table "T_STUDENT_INFO" not found; SQL statement

    1.错误描述 org.hibernate.exception.SQLGrammarException: error executing work at org.hibernate.exception. ...