2017-09-05 2 views
0

Je voudrais construire et pousser les images de docker à mon repo lien local avec gitlab ce CIconstruire et pousser des images docker avec gitlab ce CI

c'est mon fichier en cours de CI:

image: docker:latest 

services: 
    - docker:dind 

before_script: 
    - docker info 
    - docker login -u some_user -p nexus-rfit some_host 

stages: 
    - build 

build-deploy-ubuntu-image: 
    stage: build 
    script: 
    - docker build -t some_host/dev-image:ubuntu ./ubuntu/ 
    - docker push some_host/dev-image:ubuntu 
    only: 
    - master 
    when: manual 

ont également un emploi pour un docker alpin, mais quand je veux courir tout ça, il est échouer avec l'erreur suivante:

Checking out 13102ac4 as master... Skipping Git submodules setup $ docker info Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? ERROR: Job failed: exit code 1

Ainsi, techniquement le démon docker dans l'image ne fonctionne pas, mais je ne sais pas pourquoi?

Répondre

2

Les utilisateurs de GitLab disposent d'une référence sur leur documentation concernant l'utilisation de docker-build dans les jobs docker: https://docs.gitlab.com/ce/ci/docker/using_docker_build.html#use-docker-in-docker-executor. Puisque vous semblez avoir tout en place (c'est-à-dire la bonne image pour le travail et le service supplémentaire docker:dind), il s'agit probablement d'un problème de configuration de coureur.

Si vous regardez la deuxième étape dans la documentation:

  1. Register GitLab Runner from the command line to use docker and privileged mode:

    [...]

    Notice that it's using the privileged mode to start the build and service containers. If you want to use docker-in-docker mode, you always have to use privileged = true in your Docker containers.

Probablement vous utilisez un coureur qui n'a pas été configuré en mode privilégié et ne peut donc pas fonctionner correctement le démon docker à l'intérieur. Vous pouvez directement modifier le /etc/gitlab-runner/config.toml sur votre coureur inscrit pour ajouter cette option.

(Lisez également la section sur les docs pour plus d'informations sur les performances liées au pilote de stockage que vous choisissez/votre coureur prend en charge lors de l'utilisation de dind)