Могу ли я запустить Docker Desktop в Windows без прав администратора?

Я знаю, что мне нужны права администратора для установки Docker Desktop; но нужно ли мне быть администратором, чтобы запустить его? В документации не сказано, что да, и поиск в Google этого тоже не предполагает; но если я попытаюсь запустить его как непривилегированный пользователь, процесс будет немедленно уничтожен, и я получу запись в журнале событий, в которой говорится: «Для запуска процесса требуются повышенные права».

Я использую Windows 10 Enterprise в корпоративной среде, и у нас есть непривилегированные учетные записи. Docker Desktop недоступен в этой ситуации или я просто как-то неправильно его установил?


person Ed Graham    schedule 01.11.2019    source источник


Ответы (7)


Я не тестировал его, но эта статья указывает на то, что вы можете.

TLDR;

Проблема

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

Решение

Чтобы избежать этого, вы можете просто разрешить своему пользователю доступ FullControl к этому именованному каналу.

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

person aboellinger    schedule 07.01.2020
comment
Отлично - спасибо! Теперь я полностью привык к правам администратора на своей машине, поэтому вряд ли буду пробовать это: но если это работает, это явно лучшее решение. - person Ed Graham; 09.01.2020
comment
Спасибо! Это сработало! (Я в основном использовал инструмент (исходный код), чтобы предоставить группе пользователей докеров достаточный доступ к этому именованному каналу) - person Peter Pesch; 28.05.2020

Начиная с Docker Desktop 2.4 (возможно, раньше, я не проверял) это поддерживается. Из инструкций по установке Windows:

Если ваша учетная запись администратора отличается от вашей учетной записи пользователя, вы должны добавить пользователя в группу docker-users. Запустите «Управление компьютером» от имени администратора и перейдите в «Локальные пользователи и группы» > «Группы» > «docker-users». Щелкните правой кнопкой мыши, чтобы добавить пользователя в группу. Выйдите из системы и войдите снова, чтобы изменения вступили в силу.

person Simon Brady    schedule 04.10.2020
comment
Спасибо - это звучит как еще более аккуратное решение. - person Ed Graham; 04.10.2020

Ответ, кажется, "нет". Я не мог понять, как все остальные на работе избежали этой проблемы; но потом узнали, что они запросили права администратора на свои локальные машины и получили их! Я здесь только два с половиной года... :|

person Ed Graham    schedule 29.11.2019
comment
Проблема с правами администратора (помимо вопросов безопасности, конечно) заключается в том, что каждое отдельное приложение, которое вы используете для работы с контейнером/образом Docker, также должно иметь эти права. Например, мне пришлось запустить Visual Studio Code от имени администратора и установить все необходимое (и уже установленное, но для обычного пользователя), чтобы я мог использовать его любым разумным способом с Docker. - person rbaleksandar; 04.04.2020

Я могу запустить Docker Desktop из учетной записи без прав администратора на моем компьютере с Windows 10. Я также могу выполнять команды docker из командной строки без повышенных прав или из командной строки PowerShell. Обратите внимание, что моя учетная запись без прав администратора является членом локальной группы docker-users.

Первоначально я установил его из своей учетной записи администратора, и все работало, как и ожидалось, но только если я оставался в системе как администратор. Если бы я не вошел в систему как администратор, я бы получил ошибку именованного канала, которую aboellinger описал в своем ответе.

Простой запуск C:\Program Files\Docker\Docker\Docker Desktop.exe из моей учетной записи без прав администратора решил проблему (после ожидания запуска процесса в течение нескольких секунд). Он даже не просил повысить разрешения.

person JamesQMurphy    schedule 19.03.2020
comment
Неа. Вы не можете запустить Docker desktop.exe без прав администратора. По крайней мере, я не могу. И то, что я вижу в Интернете, вы не должны запускать его по умолчанию. - person Kuba Šimonovský; 22.03.2020
comment
@KubaŠimonovský Какая у вас версия и какую ошибку вы получаете при ее запуске? Я также заметил, что моя учетная запись пользователя, которая определенно не является учетной записью администратора, является частью учетной записи docker-users. Я удалю свой аккаунт оттуда и посмотрю, что произойдет. - person JamesQMurphy; 22.03.2020
comment
@KubaŠimonovský Когда я удалил свою учетную запись из группы docker-users, я не смог запустить Docker desktop.exe, но ошибка была очень специфичной: Docker Desktop — Доступ запрещен Вам не разрешено использовать Docker. Вы должны быть в группе пользователей docker. Так что я предполагаю, что у вас другая проблема. - person JamesQMurphy; 22.03.2020
comment
ааа.. К сожалению, я не могу манипулировать группами и пользователями из-за ограничений компании. Так что я не могу попробовать... Я давно использую докер, и я привык к тому, что он работает от имени администратора. - person Kuba Šimonovský; 23.03.2020
comment
Интересно. Моя ошибка (запись в журнале событий о том, что для запуска процесса требуются повышенные права) отличалась от ошибки Джеймса; Я вообще не получил никаких сведений о группе docker-users. Может быть, они добавили это сообщение об ошибке в более новую версию? - person Ed Graham; 05.04.2020
comment
После его установки вам необходимо выйти и снова войти в систему, чтобы ваше членство в новой группе .\docker-users было добавлено к вашему токену входа. - person sjcaged; 08.11.2020

Docker небезопасен по своей конструкции, если пользователь может запускать команду docker без прав администратора (т. е. принадлежит к группе docker), это в основном означает, что этот пользователь может выйти из контейнера и стать администратором на хосте. Не знаю, как именно это можно сделать в Windows, но это просто работает в Linux. Каков риск безопасности Docker для /var/ запустить/docker.sock?

person mestia    schedule 11.08.2020

Добавление моей учетной записи пользователя в группу пользователей-докеров решило мою проблему. Однако, поскольку я не использую Win10 Pro, доступ к графическому интерфейсу для управления учетными записями недоступен. Вместо этого я запустил PowerShell от имени администратора и добавил туда свою учетную запись, чтобы сгруппировать пользователей докеров.

person Doug Hirsch    schedule 16.12.2020
comment
Спасибо Дуг - это полезный совет. - person Ed Graham; 18.12.2020
comment
Верно. Вы можете включить локальное управление пользователями и группами в Windows 10 Home с помощью lusrmgr.exe как я писал здесь - person Andrea Mattioli; 24.03.2021

Последняя версия рабочего стола Docker позволяет это, но пользователь должен быть в группе пользователей docker.

Если вы используете домашнюю версию Windows 10, то добавление нескольких групп для обычных пользователей будет проблемой, даже если вы используете «netplwiz».

Чтобы добавить новую группу пользователю, вы можете использовать приведенную ниже команду в Powershell.

Запустите powershell от имени администратора, затем выполните

net localgroup docker-users ‹user_name› /добавить

person Rijas Madurakuzhi    schedule 04.06.2021