- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看了其他任何问题,但找不到自己的解决方案!我在gitlab中设置了CI,并使用gitlab的共享运行器。在构建阶段,我使用docker镜像作为基础镜像,但是当我使用docker
命令时,它说:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
.gitlab-ci.yml :
stages:
- test
- build
- deploy
job_1:
image: python:3.6
stage: test
script:
- sh ./sh_script/install.sh
- python manage.py test -k
job_2:
image: docker:stable
stage: build
before_script:
- docker info
script:
- docker build -t my-docker-image .
docker
并共享
/var/run/docker.sock
!但是当使用gitlab自己的运行器时该怎么做?
最佳答案
啊,那是我可爱的话题-将docker
用作gitlab ci
。您遇到的问题被称为docker-in-docker
。
在配置它之前,您可能需要阅读以下精彩文章:http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
这将使您了解什么是问题以及最适合您的解决方案。通常有两种主要方法:在docker
内实际安装docker
守护程序,以及将主机的守护程序共享到容器。选择哪种方法-取决于您的需求。
在gitlab
中,您可以采用多种方式,我将分享我们的经验。
方式1-使用docker:dind
作为服务。
设置非常简单。只需将docker:dind
作为共享服务添加到gitlab-ci.yml
文件,然后将docker:latest
图像用于您的工作。
image: docker:latest # this sets default image for jobs
services:
- docker:dind
cwd
中的工作可使用您的源代码,因为它们直接被拉到您的dockerRunner上Dockerfile
。对于我来说,这是 Not Acceptable ,因为可能要花费一个多小时,具体取决于您拥有的容器数量。
/var/run/docker.sock
/etc/gitlab-runner/config.toml
文件中来共享套接字。因此,我们使机器的docker守护程序可用于容器内的
docker cli
。
注意-在这种情况下,您不需要执行者使用
特权模式。
docker
和
docker-compose
。此外,我们不需要特殊的Docker注册表,因为在这种情况下,我们在所有容器之间共享执行者的注册表。
git clone $CI_REPOSITORY_URL --branch $CI_COMMIT_REF_NAME --single-branch /project
之类的命令克隆它们
关于docker - 无法在gitlab CI中的unix:///var/run/docker.sock上连接到Docker守护程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53968749/
我在使用 IdHTTP 客户端组件时遇到一般 Indy 错误结合 SOCKS5 代理服务器并使用 SSL。 如果我将 IdHTTP 组件与我的 SOCKS5 代理(和非 https URL)一起使用,
使用代理连接(HTTP 代理:10.3.100.207,端口 8080)。 使用 python 的 request 模块的 get 函数,得到以下错误: “无法从 socks://10.3.100.2
如何为我的应用程序添加 SOCKS 支持?我在哪里可以得到库? 最佳答案 来自 http://java.sun.com/javase/6/docs/technotes/guides/net/proxi
我正在设置一个安装和配置了 docker 的基础镜像,这样当我运行我的 jenkins 管道时我可以进行 anchor 扫描。我必须将 anchor 图像拉到 docker 图像中,因为我的管道在 d
我提供了一个工作客户端和服务器文件。客户端向服务器发送图片。当你注释掉时: data = sock.recv(1024) print("received: ",str(data,"UTF-8")) 图
为什么我的 SOCKS 代理代码抛出 SocketException: Malformed reply from SOCKS server?我试过在 URLConnection 或其他中设置,但这不起
您好,我刚刚下载了适用于 OS X 10.11 的 mysql 5.7.13,我在让 phpmyadmin 连接它时遇到问题。 我能够完全安装 mysql,打开 mysql 服务器并设置 root 密
我正在尝试从容器内部控制主机 docker 服务。 对于 Linux 主机和 Linux 容器,通常是这样完成的:docker run -it -v/var/run/docker.sock:/var/
我正在使用将执行 docker 命令(docker ps 等)的图像设置 kubernetes 部署。 我的 yaml 如下所示: kind: Deployment apiVersion: apps/
我使用 this guide 安装 docker .我正在使用 Distributor ID: Ubuntu Description: Ubuntu 13.10 Release: 13.1
我正在使用以下命令启动docker: /usr/bin/dockerd --bip=172.30.224.1/21 --ip-masq=false --mtu=1450 --containerd=/r
我刚注册到 Stack Overflow,因为从 2 天前开始我真的无法摆脱这个问题。我使用 Xampp。 所以,我正在关注这个 Laravel tutorial当我从终端输入项目目录或每个其他目录
首先,我发誓我已经查看了涉及此错误的每一个问题。几乎每个人提供的解决方案都是不同的,而且似乎没有人理解错误的系统原因。我和网络上遇到这个常见问题的许多人需要的是对实际出了什么问题的解释。 基本上,当我
Magento 显示“处理您的请求时出错” 尝试命令“sudo service mysqld restart”但启动失败 然后看到日志显示“SQLSTATE[HY000] [2002] 没有这样的文件
Ubuntu 15.04 64位,docker 1.6.1,用户在docker组中。 操作系统启动后,每个docker命令执行都会导致此错误: FATA[0000] Get http:///var/r
我的问题开始于我无法再以 root 身份登录我的 mysql 安装。我试图在没有打开密码的情况下运行 mysql...但是每当我运行命令时 # mysqld_safe --skip-grant-tab
我的问题开始于我在安装 mysql 时无法再以 root 身份登录。我试图在没有打开密码的情况下运行 mysql ......但是每当我运行命令时 # mysqld_safe --skip-grant
简单明了,谁能解释一下如何通过代理 (socks4/5) 连接到 mysql 服务器。最好通过 mysql 命令行(尽管在客户端中没有选项)。 如果无法通过 mysql 命令行,那么任何其他方法都可以
简单明了,谁能解释一下如何通过代理 (socks4/5) 连接到 mysql 服务器。最好通过 mysql 命令行(尽管在客户端中没有选项)。 如果无法通过 mysql 命令行,那么任何其他方法都可以
我试图通过与 SoX 中的脉冲响应进行卷积来应用混响。以下 shell 脚本完全符合我的要求: #!/usr/bin/env bash # # Convolve audio file with and
我是一名优秀的程序员,十分优秀!