docker - Gitlab-runner + Docker + Windows - 卷规格无效
问题描述
我正在尝试使用 Gitlab-runner 和 docker 在本地运行我的 Gitlab CI,然后再提交以确保它们正常工作。但是我遇到了一些奇怪的问题!
不幸的是,我别无选择,只能使用 Windows(我过去在 Linux 上取得了成功)。
每次我在 powershell 中运行作业时:
C:/Gitlab-runner/gitlab-runner exec docker npm
我收到一个错误:
Job failed (system failure): Error response from daemon: invalid volume specification: '/host_mnt/c/builds/project-0/Users/Lewsmith/api:C:/Users/Lewsmith/api:ro' (executor_docker.go:921:0s)
我尝试设置 docker 卷(多种组合)和 builds-dir:
C:/Gitlab-runner/gitlab-runner exec docker --builds-dir /builds --docker-privileged --docker-volumes "/builds:C:/Gitlab-runner/builds" npm
Error response from daemon: invalid mode: /Gitlab-runner/builds
由于 C.. 之后的冒号,这失败了
当我被难住时,谁能指出我正确的方向?
使用 gitlab-runner 版本 11.5.0
解决方案
Windows 上的 GitLab Runner 尚未完全支持 Docker。解决方法是使用适用于 Linux 的 Windows 子系统并在那里安装 gitlab-runner:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner
gitlab-runner exec docker build
推荐阅读
- python - 跟踪 Python 脚本中的每一步
- php - 如何在聊天中安排味精,或者像whatsapp使用php,ajax
- xamarin - Xamarin Forms Maps 自定义 Pin 看起来像自己的位置
- python - 如何确定我在 Python 中给定目录树的最后一个文件夹中?
- java - 使用递归的二进制搜索仅采用参数中的搜索值
- function - 如何修复这个批处理 unix 时间随机数生成器?
- c# - 如何生成带有捕获变量的嵌套 lambda 表达式
- cordova - 科尔多瓦套接字编程以通信两个android设备
- c# - 捕获事务错误
- javascript - 如何分配事件处理程序以在单击时乘以文本输入字段/更改文本?