Как я могу предоставить docker tcp api частной сети контейнеров?

Я бы хотел, чтобы один из моих контейнеров мог управлять самим докером, как я сейчас это делаю, просто открывая сокет изнутри, но я это не нравится. Что я' Я действительно хотел бы сделать это через TCP, с аутентификацией. Я не уверен в том, как я могу открыть tcp-сокет docker (на согласованном IP-адресе или домене) только для внутренней частной сети.

Как я могу предоставить docker как услугу для моих контейнеров?

0
задан 9 February 2018 в 23:14
1 ответ

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

Во-первых, будьте предельно осторожны, если решите сделать это, что вы запускаете только доверенный код.

Во-вторых, забудьте о TCP; просто подключите сокет Docker к контейнеру. Таким образом, только этот конкретный контейнер может получить доступ к Docker.

docker run -v /run/docker.sock:/run/docker.sock privileged_container
-1
ответ дан 5 December 2019 в 18:43

Теги

Похожие вопросы