今天闲着无聊,于是乎想用最近很流行的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. python 爬取糗事百科 gui小程序

    前言:有时候无聊看一些搞笑的段子,糗事百科还是个不错的网站,所以就想用Python来玩一下.也比较简单,就写出来分享一下.嘿嘿 环境:Python 2.7 + win7 现在开始,打开糗事百科网站,先 ...

  2. hive:条件判断函数

    参考hive常用运算. •If函数: if •非空查找函数: COALESCE •条件判断函数:CASE • If 函数 : if 语法: if(boolean testCondition, T va ...

  3. 腾讯云+校园扶持计划是bug还是福利

    前言   上午突然收到好友的微信消息.打开一看是关于关腾讯云"云+校园扶持计划".仔细看下了意思就是用户可以花360大洋购买腾讯云服务器配置为1核2G,1M带宽的服务器3年.(腾讯 ...

  4. 一些图像识别初创公司产品及API搜集ing...

    一些公司的产品路线可以很好地给我们启示,欢迎看客补充. 一.微软认知服务API 1.年龄.性别检测 2.物体分类.识别 3.识别名人 全新的名人识别模块可以识别20万来自全球各地涉及商界.政界.体育界 ...

  5. R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 分箱法在实际案例操作过程中较为常见,能够将一些 ...

  6. HTML中的select下拉框内容显示不全的解决办法

    HTML中的select下拉框内容显示不全的解决办法 今天,我遇到这样一个问题:查询栏中的下拉框中的内容过长,导致部分被覆盖了. 查询了一些资料,有的说用函数控制,有的说用事件控制,有的看不懂,有的实 ...

  7. pat1071-1080

    1071 #include<iostream> #include<cstdio> #include<cstring> #include<vector> ...

  8. POJ 2104 K-th Number 主席树

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...

  9. phpstorm 2017.3.3的安装和破解

    首先先下载phpstorm安装包,可以直接百度phpstorm就有了,或者打开这个链接:https://www.jetbrains.com/zh/phpstorm/specials/phpstorm/ ...

  10. JAVA中String类的方法(函数)总结--JAVA基础

    1.concat()方法,当参数为两字符串时,可实现字符串的连接: package cn.nxl123.www; public class Test { public static void main ...