2016-11-29 7 views
6

Я пытаюсь запустить скрипт CGI Python, внутри которого мне нужно запустить изображение докеры. Я использую версию Docker 1.6.2. пользователь «www-data», который добавляется в группу докеров./var/run/docker.sock: разрешение отклонено во время работы docker внутри скрипта CGI Python

www-data : www-data sudo docker 

На машине, с WWW-данными я могу выполнить докер команды

[email protected]:~/html/new$ docker ps 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 

Я получаю следующее сообщение об ошибке при запуске Docker изображения из Python CGI скрипта:

fatal msg="Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?" 

ли там чего-то я здесь не хватает?

ответ

13

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

sudo usermod -a -G docker $username 

нужный $ username, чтобы добавить их в группу. Чтобы это вступило в силу (или перезапустите службу), вам необходимо выйти из системы и вернуться к ней.

Обратите внимание, что выполнение этого эффективно дает пользователю полный доступ к корню на вашем хосте, поэтому делайте это с осторожностью.

+0

Спасибо! Это помогло решить эту проблему. –

+0

Перезапуск вашей машины также может помочь вносить изменения. – learner