Видны ли изображения и контейнеры docker всем на сервере?

#linux #docker

Вопрос:

Я пытаюсь создать изображение докера для одного из моих симуляторов. Но является ли изображение docker на сервере общим для всех пользователей?

Я просто попробовал docker images команду, и результаты показали, что есть несколько изображений:

 ubuntu                latest              9873176a8ff5        2 months ago        72.7MB
hello-world           latest              d1165f221234        6 months ago        13.3kB
mpx_evaluation        latest              ae93b04419ab        13 months ago       686MB
ubuntu                16.04               77be327e4b63        18 months ago       124MB
e9patch/e9patchdemo   latest              e73fd4d392d8        19 months ago       696MB
neo4j                 latest              7e40ffda399a        2 years ago         362MB
 

Используются ли эти изображения другими? Я не хочу, чтобы все могли видеть изображение, которое я сделал. Есть ли какой-нибудь способ? Почему изображения являются общедоступными для всех? Что, если кто-то по ошибке удалит мое изображение?

Модель сервера, который я использую, такова: Linux server81 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Многие люди используют этот сервер.

Комментарии:

1. На сервере есть только одна установка Docker. Любой, кто может получить доступ к Docker, может получить доступ к любому изображению и управлять любым контейнером. Кроме того, любой, кто может получить доступ к Docker, может довольно тривиально предоставить себе права суперпользователя на весь хост. Учтите последствия этого для безопасности при настройке Docker на многопользовательском сервере; например, для этого может потребоваться sudo разрешение.

2. Why is the mirror public to everyone? Какое зеркало? Что вы подразумеваете под «почему»? Потому что кто-то сделал это таким образом.

3. Мне очень жаль. Не зеркало, а изображение. Я имею в виду: разве таким образом нет никакой личной жизни? И это небезопасно, почему изображение не является личным?

4. Для работы Docker обычно в первую очередь требуются корневые доступы. Таким образом, любой, у кого есть корневой доступ к машине, имеет доступ к docker, включая все остальное на машине на самом деле. Ваши изображения docker не являются исключением.

Ответ №1:

Тот, у кого есть доступ к сокету docker, который является интерфейсом для управления демоном docker (который, например, отвечает за создание образа docker), увидит ваши изображения на главной машине. Как правило, пользователи с правами root имеют доступ к сокету docker и, следовательно, могут видеть ваши изображения.

Если бы вы были единственным пользователем root на компьютере, другие пользователи не имели бы доступа к изображениям, если бы они не входили в группу docker (https://docs.docker.com/engine/install/linux-postinstall/).

Но кроме этого я не вижу возможности сделать ваши изображения «закрытыми» от других пользователей, контролирующих сокет docker.