LINUX.ORG.RU

дернуть из контейнера другой контейнер

 ,


0

2

есть хост. на нем образ1 и образ2. Заускаю контейнер образа1 в интерактивном режиме. Могу ли я из этого контейнера каким-то образом запустить на хостовой машине контейнер образа2? честно говоря, ничего не смог нагуглить

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

Singularity ★★★★★
()

честно говоря, ничего не смог нагуглить

Вот прям набрал в Google «docker in docker», а там пустота?

t184256 ★★★★★
()

Надо запускать докер в priviledged mode. Обычно так на билд-серверах делают, в продакшене это не рекомендуется.

cocucka ★★★★☆
()

Не делай так, когда я увидел, что знакомый докераст тянется по ssh до хоста, я оборжался. Контейнеры. Безопасность. Ага. В итоге получается , что карго-культ докера живёт только на одном: быстро стянуть образ и поставить.

anonymous
()

Анус себе дёрни, пёс!

anonymous
()
Ответ на: комментарий от Singularity

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

а как тогда делают?

xperious ★★
() автор топика
Последнее исправление: xperious (всего исправлений: 1)
Ответ на: комментарий от Singularity

Вполне обычная практика для сервисных контейнеров. Пример — Portainer. Но конкретно тут есть ощущение XY-проблемы.

anonymous
()
Ответ на: комментарий от anonymous

Пример — Portainer.

Ну и ещё из популярных: Traefik, WatchTower.

anonymous
()
Ответ на: комментарий от Singularity

есть у меня один образ debian 9, другой - убунту. в убунте установлен специфический софт. Хочется следующее: запускаю интерактивно контейнер дебиан 9. Находясь в нем, хочу дергать софт в контейнере убунтовском как

docker run --rm ubuntu:18.04 "some commands for soft"
Как провернуть вот этот самый запуск софта изнутри дебиановского контейнера?

xperious ★★
() автор топика
Последнее исправление: xperious (всего исправлений: 1)
Ответ на: комментарий от xperious

Как провернуть вот этот самый запуск софта изнутри дебиановского контейнера?

Понять, что контейнеры — это запакованный чрут для зумеров.

anonymous
()
Ответ на: комментарий от xperious

в убунте установлен специфический софт.

Что тебе мешает специфический софт засунуть в контейнер с дебианом? Анскильность?

anonymous
()
Ответ на: комментарий от anonymous

Что тебе мешает специфический софт засунуть в контейнер с дебианом? Анскильность?

слишком тяжело собрать под старый дебиан

xperious ★★
() автор топика
Последнее исправление: xperious (всего исправлений: 1)
Ответ на: комментарий от PunkoIvan

Напиши апишку и дергай по апишке через адрес контейнера.

понятное дело, но это костыль

мне казалось, что мой вопрос не только у меня возникал, и сообщество уже придумало и реализовало что-то

xperious ★★
() автор топика
Последнее исправление: xperious (всего исправлений: 1)
Ответ на: комментарий от xperious

Зачем тебе назло кушать кактус, если можно решить быстро и просто, без натягивания докера, который завстра поменяют на кубер, а послезавтра ещё на что-то, в контейнер?

anonymous
()
Ответ на: комментарий от xperious

Тут таки проще всего будет пробросить сокет докера. Однако, с точки зрения безопастности — это полный аврал, фактически рутовый доступ ко всей системе. Другим вариантом может быть уже упомянутый выше Docker-in-Docker, когда сам Docker daemon живёт в отдельном контейнере, так, что давать его сокет всем под ряд уже не так страшно.

Singularity ★★★★★
()
Ответ на: комментарий от Singularity

Тут таки проще всего будет пробросить сокет докера

а можно поподробнее

когда сам Docker daemon живёт в отдельном контейнере

имеется ввиду запускать докер демон внутри контейнера дебиана 9, и в нем же этот демон будет контейнер с убунтой запускать? если да, то не хотелось как раз запускать целый докер демон внутри контейнера. Он же, уже есть, только на хосте, хотелось использовать его

фактически рутовый доступ ко всей системе

в смысле? рутовый доступ к контейнеру? так это пофиг

xperious ★★
() автор топика
Ответ на: комментарий от xperious

а можно поподробнее docker -v /var/run/docker.sock:/var/run/docker.sock Внутри контейнера нужен клиент докера, который будет через сокет обращаться к докеру на хосте. запускать докер демон внутри контейнера дебиана 9 Нет, демон запускается в своём отдельном контейнере. По ссылке всё подробно описано. рутовый доступ к контейнеру? Нет, ко всей системе, на которой работает демон докера.

Singularity ★★★★★
()
Ответ на: комментарий от Singularity

в общем, решил заюзать python docker - как раз то что нужно

xperious ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.