首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gitlab在docker内部运行docker

Gitlab在docker内部运行docker
EN

Stack Overflow用户
提问于 2017-07-03 00:48:36
回答 4查看 705关注 0票数 0

我正在使用gitlab 9.3.3-ce.0和gitlab runner with docker executor。我想在这个docker-executor中构建镜像。怎么做?

我正在尝试使用/etc/gitlab-runner/config.toml中的此部分连接到外部docker

代码语言:javascript
运行
复制
[runners.docker]
    tls_verify = false
    image = "java:8"
    privileged = true
    disable_cache = false
    volumes = ["/var/images", "/var/lib/docker:/var/lib/docker", 
               "/var/run/docker.sock:/var/run/docker.sock", 
               "/usr/bin/docker:/usr/bin/docker"]
    shm_size = 0

但是当我尝试在docker docker info内部执行时,我得到:

代码语言:javascript
运行
复制
/usr/bin/docker: No such file or directory

但它应该存在:

代码语言:javascript
运行
复制
$ which docker
/usr/bin/docker
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-09 16:21:25

事实证明,通过apt-get默认安装的docker在docker本身中不可见,因此安装并使用了单独的独立docker。

票数 1
EN

Stack Overflow用户

发布于 2017-07-05 18:07:56

您需要在docker服务中使用docker:

代码语言:javascript
运行
复制
image: docker:latest

# When using dind, it's wise to use the overlayfs driver for
# improved performance. - THIS DOES NOT ALWAYS WORK!
variables:
  DOCKER_DRIVER: overlay

services:
- docker:dind

before_script:
- docker info

build:
  stage: build
  script:
  - docker build -t my-docker-image .
  - docker run my-docker-image /script/to/run/tests

请参阅hhttps://docs.gitlab.com/ce/ci/docker/using_docker_build.html#use-docker-in-docker-executor

票数 1
EN

Stack Overflow用户

发布于 2020-05-11 00:03:48

正如公认的回答所说,docker in docker是解决方案。

然而,在docker中使用docker时需要做出一些牺牲,在我看来,有一个更好的替代方案: Kaniko项目。

您可以使用kaniko镜像并使用它轻松构建docker镜像。这是我用Gitlab和CI/CD使用Kaniko录制的一些视频。在https://youtu.be/Gb96kKN8BoI?t=1848时间30:45分,您可以看到示例。

Gitlab also recommends Kaniko

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44873096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档