Per accedir a un container Docker no ens cal tenir el servei de SSH en marxa. Només ens cal utilitzar la comanda nsenter.
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6d2d285dd142 nginx:latest "nginx -g 'daemon of 20 hours ago Up 20 hours 443/tcp, 0.0.0.0:80->80/tcp nginx #
# IDCONTAINER=6d2d285dd142; PID=$(docker inspect --format {{.State.Pid}} $IDCONTAINER); nsenter --target $PID --mount --uts --ipc --net --pid /bin/sh
Això ens permetrar tenir una shell a l’espai de kernel que fa servir el procés del container.
Per sortir només caldria una exit ja que és una shell.
És una alternativa a:
docker attach 6d2d285dd142
Per sortir del attach cal:
CTRL-P i Q
Més info a: Docker Blog
Per saber a quin container pertany un PID
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.ID}}' | grep "^${PID},"