2017-07-02 11 views
0

Ich benutze gitlab 9.3.3-ce.0 und gitlab runner mit docker executor. Ich möchte Bilder in diesem Docker-Executor erstellen. Wie es geht?Gitlab run docker im docker

Ich versuche äußere Docker mit diesem Abschnitt innerhalb /etc/gitlab-runner/config.toml zu verbinden:

[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 

Aber wenn ich in Docker auszuführen versuchen docker info ich:

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

Aber es sollte vorhanden sein:

$ which docker 
/usr/bin/docker 
+0

Wahrscheinlich/verwenden/bin/docker ist nur ein Link. Versuchen Sie 'ls -l/usr/bin/docker' – Robert

+0

Haben Sie versucht, Andockfenster im Andockfenster? https://docs.gitlab.com/ce/ci/docker/using_docker_build.html#use-docker-in-docker-executor –

Antwort

0

Es stellt sich heraus, dass Standard-Installation von Docker via apt-get ist nicht sichtbar im Inneren Docker selbst, so separate Standalone-Docker installiert und verwendet.

1

Sie müssen das Andockfenster in docker servi verwenden 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 

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