Задача Docker Compose в VSTS: Не удалось подключиться к демону Docker по адресу http + docker: // localhost - он работает? - PullRequest
0 голосов
/ 31 мая 2018

Установленный докер 18.03 в окне агента vsts (агент VSTS с собственным размещением) Пользователь, под которым работает агент, добавлен в группу докеров.Когда я пытаюсь выполнить сборку с помощью задачи Docker Compose в VSTS, сборка завершается с ошибкой:

Не удалось подключиться к демону Docker по адресу http + docker: // localhost - он работает?Если он находится в нестандартном месте, укажите URL-адрес с помощью переменной среды DOCKER_HOST.Не удалось подключиться к демону Docker по адресу http + docker: // localhost - он работает?Если он находится в нестандартном месте, укажите URL-адрес с помощью переменной среды DOCKER_HOST./ usr / local / bin / docker-compose не удалось с кодом возврата: 1

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

Еще одно замечание: docker compose отлично работает из окна агента, но когда сборка запускается задачей VSTS, я получаю эту ошибку.

docker-compose file:

 version: '3'
services:
  some-api:
    build:
      context: .
      dockerfile: .docker/dockerfile1
    image: some.azurecr.io/some-api:latest     
    container_name: 'some-api'
    ports:
        - '8080:80'
  some-website:
    build: 
      context: .
      dockerfile: .docker/dockerfile2
    image: some.azurecr.io/some-website:latest
    container_name: 'some-website'
    ports:
        - '3434:3434'

dockerfile -api

FROM microsoft/dotnet AS build 
# Docker image container .NET Core SDK

COPY .api/ ./some-api

WORKDIR /some-api

RUN dotnet restore; dotnet publish -o out


# final image

FROM microsoft/aspnetcore 
# .NET Core runtime-only image

COPY --from=build /some-api/out /some-api

WORKDIR /some-api

EXPOSE 80

ENTRYPOINT [ "dotnet", "some.dll" ]

dockerfile-website

#----------------------
### STAGE 1: BUILD ###
#---------------------


# Building node from LTS version
FROM node:8.11.1 as builder

# Installing npm to remove warnings and  optimize the container build process
# One of many warnings: npm WARN notice [SECURITY] deep-extend has 1 low vulnerability. 
#Go here for more details: https://nodesecurity.io/advisories?search=deep-extend&version=0.5.0 - 
#Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info.

RUN npm install npm@latest -g

# Copying all necessary files required for npm install

COPY package.json ./

# Install npm dependencies in a different folder to optimize container build process

RUN npm install

# Create application directory and copy node modules to it

RUN mkdir /some-website
RUN cp -R ./node_modules ./some-website

# Setting application directory as work directory
WORKDIR /some-website

# Copying application code to container application directory
COPY . .

# Building the angular app
RUN npm run build.prod

#--------------------------------------------------
### STAGE 2: Setup nginx and Deploy application ###
#--------------------------------------------------
FROM nginx:latest

## Copy defualt ngninx configuration file

COPY default.conf /etc/nginx/conf.d

## Remove default nginx website

RUN rm -rf /usr/share/nginx/hmtl/*

# Copy dist folder from  the builder to nginx public folder(STAGE 1)

COPY --from=builder /some-website/dist/prod /usr/share/nginx/html

CMD ["nginx","-g","daemon off;"]

Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

Проблема была в правах пользователя.Таким образом, после добавления пользователя в группу Docker,

sudo usermod -aG docker $ USER

выход из системы и выход из нее не работал.Мне пришлось перезагрузить свой сервер Ubuntu, чтобы разрешения вступили в силу.

...