настройка разрешения докера для агента VSTS в частном конвейере - PullRequest
0 голосов
/ 05 июля 2018

Я установил частный конвейер с linux vm, агент установился, и на портале он показывает, что агент активен. У меня также есть установить докер. На той же машине, если я использую sudo docker, это работает. Поэтому я уверен, что это проблемы с разрешениями, когда агент VSTS запускает команду. Не уверен, что какой пользователь мне должен дать, какое разрешение, чтобы команда docker запускалась, когда я начну сборку из VSTS.

Получено разрешение при попытке подключиться к демону Docker сокет в unix: ///var/run/docker.sock: сообщение http://%2Fvar%2Frun%2Fdocker.sock/v.37/build?buildargs=%7B%7D&cachefrom=%5B]&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=&session=a53bebddc77c89993b6e464d9f2a56fac9b***e62***094***fe70355df2c8dfcf***8b9&shmsize=0&t=mycontainerreg.azurecr.io%2Ftk-dashboard%3A853&target=&ulimits=null: набрать unix /var/run/docker.sock: подключиться: отказано в разрешении

/ usr / bin / docker не удалось с кодом возврата: ***

1 Ответ

0 голосов
/ 06 июля 2018

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

Обратите внимание, что служба настраивается во время настройки агента сборки. Вы можете запустить агент сборки как сервис systemd. Подробнее см. В этом учебнике .

Вам необходимо предоставить соответствующие разрешения. Пользователь просто должен быть добавлен в групповой докер.

sudo usermod -a -G docker user

Также перезапустите службу systemd и попробуйте снова запустить сборку.

...