#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.