У меня есть проект, в котором мне нужно использовать 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