一、安装

1. 安装 docker

Docker下载

注意:Windows 10 家庭版获取 之前的版本不能直接安装 Docker ,而是需要去安装 Docker Toolbox

我这里安装的是 Docker Toolbox。按照这个安装教程进行安装 ,安装教程

安装完成之后,(由于我电脑之前就安装了 git ,所以在安装过程中并没有勾选 git 安装)

如果安装成功之后,在验证安装时,点击桌面快捷方式不管用。可以到安装目下直接双击运行 start.sh 。

2. 安装 gitlab-runner

由于公司代码管理使用 Gitlab 进行,所以没有在本地安装 gitlab。

我们先查看一下 docker 的安装信息:

用docker in docker 的方式安装运行gitlab-runner

在命令行中输入:

docker pull gitlab/gitlab-runner

拉取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

创建并运行gitlab-runner容器。

3. 配置 gitlab-runner

在命令行中输入以下命令注册一个新的Runner实例:

docker exec -it gitlab-runner gitlab-runner register

开发项目 gitlab 地址 和 gitlab-ci token 都可以在gitlab项目中查看:

runner 配置完成之后,就可以在给gitlab 中看到你的 runner

到这里就为 gitlab 中的项目配置了一个 docker 环境下的 runner。不过从上图可以看出为这个工程配置的 runner 只是服务与当前项目的。但是 runner 中有共享的 runner 。如何创建共享的 runner 会后续更新。如果这篇文章有帮到你,点个赞,加个关注。

这里再加个提醒,如果项目已经配置 ci 脚本,发现提交代码之后,ci 一直处于 pending状态,有一个 struct 的标识。很有可能是你的 runner 中有一项配置没有打开:

参考:

Windows下使用docker部署gitlab CI服务

附:Docker 简单命令:

1. 列出所有容器ID

docker ps -aq

2. 查看所有运行或者不运行容器

docker ps -a

3. 停止所有的container(容器),这样才能够删除其中的images:

docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq)

3. 如果想要删除所有container(容器)的话再加一个指令:

docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq) 

4. 查看当前有些什么images

docker images

5. 删除images(镜像),通过image的id来指定删除谁

docker rmi <image id>

6. 想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

7. 要删除全部image(镜像)的话

docker rmi $(docker images -q)

8. 强制删除全部image的话

docker rmi -f $(docker images -q)

9. 从容器到宿主机复制

docker cp tomcat:/webapps/js/text.js /home/admin
docker cp 容器名: 容器路径 宿主机路径

10. 从宿主机到容器复制

 docker cp /home/admin/text.js tomcat:/webapps/js
docker cp 宿主路径中文件 容器名 容器路径

11. 删除所有停止的容器

docker container prune

12. 删除所有不使用的镜像

docker image prune --force --all或者docker image prune -f -a

13. 停止、启动、杀死、重启一个容器

 docker stop Name或者ID
docker start Name或者ID
docker kill Name或者ID
docker restart name或者ID

14. 修改配置、退出容器

1、如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
2、如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复
使用docker restart命令重启容器
使用docker attach命令进入容器

推荐:

Gitlab部署CI并使用.gitlab-ci.yml配置您的作业

Windows 下 docker 部署 gitlab ci的更多相关文章

  1. windows下docker部署报错

    报错信息:Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8848 -> 0.0.0 ...

  2. Tars | Win10下Docker部署TarsJava(SpringBoot)全过程及踩坑记录

    @ 目录 前言 1. 相关环境版本: 坑点一:VMware与Win10 Docker冲突 坑点二:20.版本TarsJava(SpringBoot)依赖文件缺失 2. Docker安装: 坑点三:Do ...

  3. windows下rsync部署安装

    windows下rsync部署安装 2012-06-05 12:06:13|  分类: 系统 |  标签:rsync  windows   |字号 订阅   rsync在windows与windows ...

  4. Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...

  5. windows下Docker的安装

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  6. docker部署gitlab

    Docker部署gitlab 一.前提条件 (1)     存在docker (2)     服务器可以联网(外网) (3)     服务器内存至少4G(内存不够会出现502错误) 内存不足502错误 ...

  7. K8s 部署 Gitlab CI Runner

    K8s 版本:1.20.6 GitLab CI 最大的作用是管理各个项目的构建状态.因此,运行构建任务这种浪费资源的事情交给一个独立的 Gitlab Runner 来做就会好很多,而且 Gitlab ...

  8. Windows下docker的安装以及遇到的问题

      最近因为业务的需要,需要在本地搭建服务环境测试,不想去安装各种软件,于是就想到了用docker来满足我的需要.由于第一次在Windows下安装(以前一直是在linux下使用,但由于内存等硬件的限制 ...

  9. windows下docker的安装及常用命令学习

    docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...

随机推荐

  1. 【LeetCode每天一题】Plus One(加一)

    Given a non-empty array of digits representing a non-negative integer, plus one to the integer.The d ...

  2. mac上sed -i 执行失败报错

    比如说我要替换version.txt文件中的version=1.1 为version=1.2,比如test.txt文件内容如下: version=1.1 此时我们会使用sed来替换,如果是涉及比较多的 ...

  3. npm手册

    npm现在都是随同NodeJS一起安装的包管理和分发工具,所以npm的安装,只要下载新版的nodejs已经集成了npm. 安装好了以后,直接输入npm或者npm help,会出来一些npm自带的命令. ...

  4. leetcode148. Sort List

    和数组里面的归并排序相同,用两个指针分别对应low high,递归进行归并排序然后merge把两个链表合在一起 /** * Definition for singly-linked list. * s ...

  5. 各种15min(启动、横盘、破位)样例

    15min-m20=day m1.5 15min-m60=day m5 15min-m125=day m10 15min-m260=day m20 1.2017年6月8日 360  + 2018年11 ...

  6. kafka笔记9(监控)

    Kafka提供的所有度量指标都是通过JMX(Java Management Extensions)接口访问 JMX端口查询:  zookeeper上获取端口信息  /brokers/ids/<I ...

  7. linux 笔记 第一天

    打开终端:ctrl+alt+t 清屏:ctrl+l 在终端在退出锁定:ctrl+c 目录:又称为文件夹,是包含所有的文件 目录创建规则: 1.大小是256 2.不能包含特殊字符 3.见名知义 路径:是 ...

  8. python 练习1(流控制)

    #!/usr/bin/python #_*_ coding:utf-8 _*_ #练习题 #1.使用while循环输入 1 2 3 4 5 6 8 9 10 #a.定义一个变量存放数字 #b.用whi ...

  9. 使用 acme.sh 签发续签 Let‘s Encrypt 证书 泛域名证书

    1. 安装 acme.sh 安装很简单, 一个命令: curl https://get.acme.sh | sh 并创建 一个 bash 的 alias, 方便你的使用 alias acme.sh=~ ...

  10. sitecore 获取item的URL

    给出一个简单的sitecore项: Item item; 该项目本身不包含它的网址.要获取项目的URL,您需要调用static类Sitecore.Links.LinkManager string ur ...