LINUX.ORG.RU

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

 ,


0

2

В общем, запустил контейнер с выхлопом в консоль. Назовем ее «основной». Все работает, отлично.

Есть ли способ «приаттачиться» к контейнеру из другой консоли(или даже эмулятора терминала), чтобы выполнять в этой «приаттаченной» консоли команды, которые не будут дублироваться на основной? Ну в смысле docker attach не подходит т.к. как раз происходит то самое «дублирование» команд. Честно говоря такой простой кейс, а меня вогнал в ступор

★★

Последнее исправление: xperious (всего исправлений: 1)

Ответ на: комментарий от hetop

омг, спасибо, а то считал, что такое возможно только через ssh

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

Но ещё лучше указывать sh вместо bash, т.к. в alpine-based по дефолту только sh.

Demacr ★★
()

nsenter

Мне ещё иногда пригождалась команда nsenter, использовал её вот так:

sudo nsenter -t $(docker inspect -f '{{.State.Pid}}' CONTAINER_ID/NAME) -n ss -pnt state established

запустится бинарник ss из хост-системы, т.е. в контейнере его, например, нет, используется network namespace контейнера, остальное берётся из основной системы.

С nsenter может возникнуть проблема с DNS-резолвингом, т.к. например /etc/hosts виден не тот, что внутри Docker-контейнера. А если использовать -m (--mount), то бинарник снаружи не будет виден и не запустится.

В общем, полезно когда в контейнере нет того, что тебе надо запустить.

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

да просто контейнер запустил и хотел с многих консолек туда зайти для своих нужд… делал все это через ssh, но надоело, оказывается вон как можно

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