2017-07-02 80 views
0

我在docker executor裏使用gitlab 9.3.3-ce.0和gitlab runner。我想在這個docker-executor裏構建圖像。怎麼做?Gitlab在Docker裏面運行docker

我想利用內幕/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 info執行我得到:

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

但它應該存在:

$ which docker 
/usr/bin/docker 
+0

可能/ use/bin/docker只是一個鏈接。試試'ls -l/usr/bin/docker' – Robert

+0

你有沒有在Docker中試過docker? https://docs.gitlab.com/ce/ci/docker/using_docker_build.html#use-docker-in-docker-executor –

回答

0

原來,通過apt-get的泊塢窗的默認安裝是不是裏面泊塢窗本身可見的,所以單獨的獨立碼頭工人正在安裝和使用。

1

您需要在docker servi中使用docker CE:

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