2017-02-21 26 views
4

Я пытаюсь построить CI с gitlab, я перехожу из докеревого изображения докера, и у меня не было проблем с моим передним репозиторием, но теперь с назад с тем же конфигурационным файлом gitlab-ci, у меня есть эта ошибка демона.Не удается подключиться к докере daemon в докере image docker

Вот выход сборки:

[0KRunning with gitlab-ci-multi-runner 1.10.4 (b32125f)[0;m 
[0;m[0KUsing Docker executor with image docker:1.13.1 ... 
[0;m[0KPulling docker image docker:1.13.1 ... 
[0;mRunning on runner-4e4528ca-project-1649638-concurrent-0 via runner-4e4528ca-machine-1487688057-7c0f1e46-digital-ocean-4gb... 
[32;1mCloning repository...[0;m 
Cloning into '/builds/***/formation-back'... 
[32;1mChecking out af7cbcae as docker...[0;m 
[32;1mSkipping Git submodules setup[0;m 
[32;1m$ docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com[0;m 
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?). Using system default: https://index.docker.io/v1/ 
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 
[31;1mERROR: Build failed: exit code 1 
[0;m 

Вот мой .gitlab-ci.yml:

image: docker:1.13.1 

stages: 
    - build 
    - test 
    - deploy 

variables: 
    BUILD_IMG: $CI_REGISTRY_IMAGE:$CI_BUILD_REF 
    TEST_IMG: $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME 
    RELEASE_IMG: $CI_REGISTRY_IMAGE:latest 
    AWS_STAGING_ENV: "***" 
    AWS_PROD_ENV: "***" 
    DOCKERRUN: Dockerrun.aws.json 
    DEPLOY_ARCHIVE: ${AWS_APP}-${CI_BUILD_REF}.zip 

before_script: 
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com 
    - .ci/before_script 

build: 
    stage: build 
    script: 
    - docker build --pull -t $BUILD_IMG . 
    - docker push $BUILD_IMG 

test: 
    stage: test 
    script: 
    - docker pull $BUILD_IMG 
    - docker run --rm $BUILD_IMG npm run test 
    - docker tag $BUILD_IMG $TEST_IMG 
    - docker push $TEST_IMG 

deploy:staging: 
    stage: deploy 
    environment: Staging 
    variables: 
    DOCKER_IMG: ${CI_REGISTRY_IMAGE}:${CI_BUILD_REF} 
    script: 
    - ./.ci/create-deploy-archive $DOCKER_IMG $AWS_BUCKET $DOCKERRUN $DEPLOY_ARCHIVE 
    - ./.ci/aws-deploy $DEPLOY_ARCHIVE $CI_BUILD_REF $AWS_STAGING_ENV 
    artifacts: 
    paths: 
    - $DEPLOY_ARCHIVE 
    except: 
    - production 

deploy:production: 
    stage: deploy 
    environment: Production 
    variables: 
    DOCKER_IMG: ${CI_REGISTRY_IMAGE}:latest 
    script: 
    - .ci/push-new-image $TEST_IMG $RELEASE_IMG 
    - .ci/create-deploy-archive $DOCKER_IMG $AWS_BUCKET $DOCKERRUN $DEPLOY_ARCHIVE 
    - .ci/aws-deploy $DEPLOY_ARCHIVE $CI_BUILD_REF $AWS_PROD_ENV 
    artifacts: 
    paths: 
    - $DEPLOY_ARCHIVE 
    only: 
    - production 
    when: manual 

Вот мой config.toml файл:

concurrent = 1 
check_interval = 0 

[[runners]] 
    name = "***" 
    url = "https://gitlab.com/ci" 
    token = "750c63cba1c269d789bdb33c42b726" 
    executor = "docker" 
    [runners.docker] 
    tls_verify = false 
    image = "alpine:3.5" 
    privileged = true 
    disable_cache = false 
    volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"] 
    [runners.cache] 

Информация о докере:

DEBU[0771] Calling GET /v1.24/info 
Containers: 1 
Running: 1 
Paused: 0 
Stopped: 0 
Images: 1 
Server Version: 1.12.6 
Storage Driver: devicemapper 
Pool Name: docker-202:1-395267-pool 
Pool Blocksize: 65.54 kB 
Base Device Size: 10.74 GB 
Backing Filesystem: xfs 
Data file: /dev/loop0 
Metadata file: /dev/loop1 
Data Space Used: 519 MB 
Data Space Total: 107.4 GB 
Data Space Available: 6.569 GB 
Metadata Space Used: 1.397 MB 
Metadata Space Total: 2.147 GB 
Metadata Space Available: 2.146 GB 
Thin Pool Minimum Free Space: 10.74 GB 
Udev Sync Supported: true 
Deferred Removal Enabled: false 
Deferred Deletion Enabled: false 
Deferred Deleted Device Count: 0 
Data loop file: /var/lib/docker/devicemapper/devicemapper/data 
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device. 
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata 
Library Version: 1.02.93-RHEL7 (2015-01-28) 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge overlay null host 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Security Options: 
Kernel Version: 4.4.44-39.55.amzn1.x86_64 
Operating System: Amazon Linux AMI 2016.09 
OSType: linux 
Architecture: x86_64 
CPUs: 1 
Total Memory: 995.2 MiB 
Name: ip-172-31-30-143 
ID: D6DU:OBWL:R3HK:DSZK:EOYC:5EHS:NU4I:4M3T:H5PL:JWLH:CIPD:I7VW 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): true 
File Descriptors: 20 
Goroutines: 27 
System Time: 2017-02-22T11:16:19.042666914Z 
EventsListeners: 0 
Registry: https://index.docker.io/v1/ 
Insecure Registries: 
127.0.0.0/8 
+0

Не могли бы вы добавить результат 'docker info' с машинного хостинга gitlab? – jrbeverly

+0

Не могли бы вы добавить содержимое файла 'config/config.toml' вашего' gitlab-runner'? –

+0

У меня такая же проблема. Я установил 'privileged = true' в config.toml. Я также сталкиваюсь с этим при запуске изображения докеров вручную. –

ответ

4

Вам нужно добавить

services: 
    - docker:dind 

.gitlab-ci.yml вашему. Это говорит бегуну запустить второй контейнер (docker: dind), который представляет собой образ рабочего демона-докера. Для запуска нужно иметь второе изображение.

Для получения дополнительной информации см примера докер проекта: https://gitlab.com/gitlab-examples/docker/blob/master/.gitlab-ci.yml

Это не работает без обслуживания, потому что не работает докер демон, и вы не можете запустить сборку внутри docker:dind контейнера, так как команды запуска заменит демона докеров.

+0

Здравствуйте, Йозеф Хоппе, спасибо. Я не знал этого сервиса, я решил, что проблема связана с двумя бегунами для моих двух проектов. Я не знаю, как это работает:/ –

+0

Спасибо за это! –

 Смежные вопросы

  • Нет связанных вопросов^_^