准备条件

  1. 安装好Docker For Windows客户端。
  2. 配置好Docker 阿里云加速镜像地址。
  3. 检查Docker版本,大于等于v19。

拉取Gitlab镜像

docker pull gitlab/gitlab-ce:latest

安装GitLab

因为一些不确定的原因,这里推荐你切换到Linux的终端环境来执行一下命令,而不是使用PowerShell。

试玩:

docker run --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /home/gitlab/config:/etc/gitlab --volume /home/gitlab/logs:/var/log/gitlab --volume /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

推荐:

docker run --publish 4433:443 --publish 7000:80 --publish 77:22 --name gitlab --restart always \
--volume /home/username/gitlab/config:/etc/gitlab \
--volume /home/username/gitlab/logs:/var/log/gitlab \
--volume /home/username/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

修改Gitlab绑定地址

如果不修改,用Docker方式新建的Docker的地址就会变成实例Id名字,这样肯定不行。

  1. 右键管理员权限打开PS,切换到root用户获取最高权限。
sudo su

  1. vim命令编辑gitlab的配置文件
vim /home/username/gitlab/config/gitlab.rb
  • 用快捷键i进入编辑模式。
  • 用Esc退出编辑模式
  • 用:wq保存并且退出Vim

  1. 重启Gitlab的Docker实例生效
docker restart gitlab
  1. 你将得到一个可以http和ssh访问的gitlab

新建并注册GitLab Runner

注意,以下操作仅针对Docker场景,并且需要在Linux命令行执行最佳。

新建GitLab Runner

docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

备注--restart参数

Flag Description
no 不自动重启容器. (默认value)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器

如果是已经运行的Docker实例,可以通过update命令更新设置

docker update --restart=always gitlab

注册GitLab Runner

运行如下命令启动注册

docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register

前往位置:Gitlab项目-Setting-CI/CD-Runners-Expand

接下来,会要求你填写一些信息,其中Url地址和Token是需要你去GitLab项目CI/CD设置页面得到的,其他的信息就随意填写了。

设置完之后,最好重启一次实例。

docker restart gitlab-runner

Windows10 上Docker 安装运行Gitlab的更多相关文章

  1. Windows10 上Docker 安装运行Consul

    背景简介 Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面. 这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全服务网格. Consul需要数据平面并 ...

  2. docker安装配置gitlab详细过程

    docker安装配置gitlab详细过程   获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...

  3. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  4. 在Linux上rpm安装运行Redis 3.0.4

    http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...

  5. docker 安装使用gitlab

    官方镜像地址  ce版本: https://hub.docker.com/r/gitlab/gitlab-ce 文档地址: https://docs.gitlab.com/omnibus/docker ...

  6. centos7上docker安装和使用教程

    Docker 是一个创建和管理 Linux 容器的开源工具.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上 ...

  7. docker下运行Gitlab CE+Jenkins+Nexus3+docker-registry-frontend

    DevOps - Gitlab CE - Jenkins - Nexus Gitlab CE https://hub.docker.com/r/gitlab/gitlab-ce/ https://do ...

  8. Tensorflow-gpu在windows10上的安装(anaconda)

    文档来源转载: http://blog.csdn.net/u010099080/article/details/53418159 http://blog.nitishmutha.com/tensorf ...

  9. linux上Docker安装gogs私服亲测(详解)

    一.前言 有网友问我为什么要使用私服,可能大部分人都不是太懂,网上那么多存储仓库而且好用方便,但是你想过没有如果企业中的项目,放在人家的仓库上这个安全性不是太好,所以说一般企业都会有自己的私服.本章教 ...

随机推荐

  1. [Qt] Librecad 源码分析

    libraries jwwlib libdxfrw:一个免费的C++库,用于读写文本格式或二进制格式的DXF文件(C++ library to read and write DXF/DWG files ...

  2. 下载最新版本Fiddler

    下载最新版本Fiddler https://www.telerik.com/download/fiddler/fiddler-everywhere-windows

  3. 攻防世界(二)Training-WWW-Robots

    攻防世界系列:Training-WWW-Robots 1.查看robots.txt的要求  补充: 什么是robots.txt协议? Robots.txt是放在网站根目录下的一个文件,也是搜索引擎在网 ...

  4. linux rpm包解压

    rpm2cpio xxx.rpm | cpio -div

  5. SpringMVC MVC 架构模式

    MVC 架构模式 MVC(Model.View 和 Controller)是一种架构模式,它是按照职责划分的思想将系统操作分为三个模块进行处理,每个模块负责一个职责,而且模块之间可以相互交互通信,共同 ...

  6. MyBatis 模糊查询的 4 种实现方式

    引言 MyBatis 有 4 种方式可以实现模糊查询. 员工信息表 ( tb_employee ) 如下: id name sex email birthday address 001 张一凡 男 z ...

  7. MVC RadioButton控件

    @Html.RadioButtonFor(m => m.IfValid, 1, new { @id = "radio1", @name = "rdolstState ...

  8. 并发王者课-青铜5:一探究竟-如何从synchronized理解Java对象头中的锁

    在前面的文章<青铜4:synchronized用法初体验>中,我们已经提到锁的概念,并指出synchronized是锁机制的一种实现.可是,这么说未免太过抽象,你可能无法直观地理解锁究竟是 ...

  9. RMAN-20208: UNTIL CHANGE is before RESETLOGS change

    执行recover操作时: RMAN> recover database;      Starting recover at 28-NOV-19 using channel ORA_DISK_1 ...

  10. Spring Cloud07: Feign 声明式接口调用

    一.什么是Feign Feign也是去实现负载均衡,但是它的使用要比Ribbon更加简化,它实际上是基于Ribbon进行了封装,让我们可以通过调用接口的方式实现负载均衡.Feign和Ribbon都是由 ...