«Не удается подключиться к Docker Daemon» - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть проект, в котором мне нужно использовать CircleCi для создания образа приложения Docker, а затем загрузить его в хранилище контейнеров Amazon.

Учитывая, что CircleCI также работает в Docker, я создал образ Dockerдля него, который содержит версию Ubuntu вместе с AWS CLI, Node и Docker.См. Dockerfile ниже:

FROM ubuntu:16.04

# update libraries
RUN apt-get update
RUN apt-get install -y apt-transport-https ca-certificates curl software-properties-common
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# install docker
RUN apt-get update
RUN apt-cache policy docker-ce
RUN apt-get install -y docker-ce
                                   # <---
RUN systemctl status docker        # <--- TROUBLE HERE
                                   # <---
# install node
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt install -y nodejs 

# install aws cli
RUN apt-get install -y python-pip python-dev build-essential  
RUN pip install --upgrade pip
RUN pip install awscli --upgrade

В настоящее время у меня возникают некоторые проблемы при работе с этим образом док-станции CircleCi, потому что, если я сохраняю команду RUN systemctl status docker, я получаю следующую ошибку:

Failed to connect to bus: No such file or directory The command '/bin/sh -c systemctl status docker' returned a non-zero code: 1

Если, с другой стороны, я удалю эту команду, сборка будет успешной.Однако, когда я захожу внутрь docker sudo docker run -it unad16 и запускаю любую команду docker, например, docker images, я получаю следующую ошибку:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Я пытался отладить эту ошибку со вчерашнего дня,но были неудачными.Таким образом, любая помощь будет принята с благодарностью.

Примечания:

  • ошибка "daemon" возникает, даже когда я запускаю docker в привилегированном режиме с sudo docker run -ti --privileged=true unad16

1 Ответ

0 голосов
/ 22 ноября 2018

Вам не нужно запускать демон docker, если вы хотите создать образ docker в circleci.Вместо этого вам просто нужно изображение с докер-клиентом и круговая конфигурация с - setup_remote_docker.

Подробнее в https://circleci.com/docs/2.0/building-docker-images/

Если по какой-то другой причине вы все еще хотите запустить сервис докерав образе докера, пожалуйста, обратитесь к DockerInDocker репо, особенно к части README.md.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...