Windows 下 docker 部署 gitlab ci
一、安装
1. 安装 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 中有一项配置没有打开:
参考:
附: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的更多相关文章
- windows下docker部署报错
报错信息:Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8848 -> 0.0.0 ...
- Tars | Win10下Docker部署TarsJava(SpringBoot)全过程及踩坑记录
@ 目录 前言 1. 相关环境版本: 坑点一:VMware与Win10 Docker冲突 坑点二:20.版本TarsJava(SpringBoot)依赖文件缺失 2. Docker安装: 坑点三:Do ...
- windows下rsync部署安装
windows下rsync部署安装 2012-06-05 12:06:13| 分类: 系统 | 标签:rsync windows |字号 订阅 rsync在windows与windows ...
- Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中
参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...
- windows下Docker的安装
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- docker部署gitlab
Docker部署gitlab 一.前提条件 (1) 存在docker (2) 服务器可以联网(外网) (3) 服务器内存至少4G(内存不够会出现502错误) 内存不足502错误 ...
- K8s 部署 Gitlab CI Runner
K8s 版本:1.20.6 GitLab CI 最大的作用是管理各个项目的构建状态.因此,运行构建任务这种浪费资源的事情交给一个独立的 Gitlab Runner 来做就会好很多,而且 Gitlab ...
- Windows下docker的安装以及遇到的问题
最近因为业务的需要,需要在本地搭建服务环境测试,不想去安装各种软件,于是就想到了用docker来满足我的需要.由于第一次在Windows下安装(以前一直是在linux下使用,但由于内存等硬件的限制 ...
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
随机推荐
- python类与对象-如何创建可管理的对象属性
如何创建可管理的对象属性 问题举例 在面向对象编程中, 我们把方法看作对象的接口, 直接访问对象的属性可能是不安全的,或设计上不够灵活. 但是使用调用方法在形式上不如访问属性简洁. circle.ge ...
- 2018-2019 20175232 实验二《Java面向对象程序设计》实验报告
一.实验内容及步骤 1熟练掌握Junit和TDD: TDD(Test Driven Devlopment, 测试驱动开发)我们是该“先写产品代码,然后再写测试代码,通过测试发现了一些Bugs,修改代码 ...
- java操作Jacoco合并dump文件
记录瞬间 import org.apache.maven.plugin.MojoExecutionException; import org.jacoco.core.tools.ExecFileLoa ...
- 25 range打印100到0的连续整数
使用range打印100,99,98,...0for i in range(100,-1,-1): print(i)
- CLASS类继承
单继承:# class People: 经典类class People(object): #新式类 def __init__(self,name,age,n=1000): self.name = na ...
- maven中target不能访问
原因是maven clean的时候已经把target文件夹删除 但是文件夹还存在页面中 所以我们看得到但是不能打开.正常操作是获得管理员权限删除后再重新clean,但是我电脑有360,直接360 ...
- 20175208 《Java程序设计》第六周学习总结
20175208 <Java程序设计>第六周学习总结 一.教材知识点总结: 第七章 1.内部类: 成员内部类.静态嵌套类.方法内部类.匿名内部类 .(1).内部类仍然是一个独立的类,在编译 ...
- CCF CSP 201609-2 火车购票
题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...
- setInterval中this
今天使用react做钟表,自然用到了setInterval,但是出现this指向不明的问题. <html> <head> <meta charset="UTF- ...
- Haystack全文检索
1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch(java写的 ...