docker里面运行docker

我正在使用gitlab 9.3.3-ce.0和gitlab runner和docker executor。 我想在这个docker-executor内build立图像。 怎么做?

我正尝试使用/etc/gitlab-runner/config.toml这个部分连接到外部/etc/gitlab-runner/config.toml

 [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 infodocker info我得到:

 /usr/bin/docker: No such file or directory 

但它应该存在:

 $ which docker /usr/bin/docker 

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

 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 

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

事实certificate,通过apt-get的docker默认安装在Docker本身内是不可见的,所以安装并使用独立的docker。