Войти в docker-контейнер через nsenter

Допустим, есть контейнер «api». Обычно для входа в него используется такая команда:

docker-compose exec api sh

Другой способ - использовать «nsenter». Для этого создадим такой скрипт:

#!/bin/bash
 
ID=`docker-compose ps -q "$1"`
PID=`docker inspect "$ID" --format '{{.State.Pid}}'`
sudo nsenter --target "$PID" --mount --uts --ipc --net --pid /bin/sh

Чтобы войти в api, следует запустить этот скрипт так:

./attach.sh api
Печать/экспорт