настройка вложенного докера: дочерний объект выставляет родительский - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть следующая настройка докера:

Ubuntu server
  -> running Jenkins (started with docker-compose)
       -> running a pipeline which starts a node-alpine image
            -> which then calls a new docker-compose up (needed for tests)

Если я вызываю docker ps из контейнера node-alpine, я вижу все контейнеры с сервера ubuntu.Я бы ожидал увидеть только недавно запущенные контейнеры.

Является ли это признаком того, что мои настройки некорректны?Или просто так работает докер?

1 Ответ

0 голосов
/ 28 февраля 2019

Так работает Docker.Нет такой вещи, как иерархия контейнеров.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...