Come ottenere l'accesso come root a un container Docker esistente?
Sep 04 2020
In grado di ottenere una risposta dal basexcontainer hub docker :
nicholas $ nicholas $ lynx http://localhost:8984/ --dump
No function found that matches the request.
nicholas $
Ho eseguito il container come:
root $
root $ docker run -ti -d --name basexhttp --publish 1984:1984 --publish 8984:8984 --volume "$(pwd)/basex/data":/srv/basex/data basex/basexhttp:latest
71cbb84cf53143d00e6009d1ea5caa9de96c094c5d6aefc11cad95188b976776
root $ root $ docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
71cbb84cf531 basex/basexhttp:latest "/usr/local/bin/mvn-…" 26 seconds ago Up 23 seconds 0.0.0.0:1984->1984/tcp, 0.0.0.0:8984->8984/tcp, 8985/tcp basexhttp
root $ root $ docker run -ti basex/basexhttp:latest bash
bash-4.4$ bash-4.4$ whoami
basex
bash-4.4$ bash-4.4$ pwd
/srv
bash-4.4$ bash-4.4$ sudo su -
bash: sudo: command not found
bash-4.4$ bash-4.4$ su -
su: must be suid to work properly
bash-4.4$
ma come ottengo l'accesso come root?
Risposte
1 NicholasSaunders Sep 04 2020 at 15:28
La soluzione è usare execcome:
root@doge:~#
root@doge:~# docker run -ti -d --name basexhttp --publish 1984:1984 --publish 8984:8984 --volume "$(pwd)/basex/data":/srv/basex/data basex/basexhttp:latest 5699af1dc04aa9c78066222e4b0b8e5621aa2ab9dd2bd46bcd87c6a0377c1960 root@doge:~# root@doge:~# docker container list CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5699af1dc04a basex/basexhttp:latest "/usr/local/bin/mvn-…" 33 seconds ago Up 30 seconds 0.0.0.0:1984->1984/tcp, 0.0.0.0:8984->8984/tcp, 8985/tcp basexhttp root@doge:~# root@doge:~# docker exec -ti --user root basexhttp bash bash-4.4# bash-4.4# whoami root bash-4.4# bash-4.4# su basex ~ $
~ $ whoami basex ~ $
~ $ exit
bash-4.4# exit
exit
root@doge:~#
root@doge:~# docker container list
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5699af1dc04a basex/basexhttp:latest "/usr/local/bin/mvn-…" About a minute ago Up About a minute 0.0.0.0:1984->1984/tcp, 0.0.0.0:8984->8984/tcp, 8985/tcp basexhttp
root@doge:~#
root@doge:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5699af1dc04a basex/basexhttp:latest "/usr/local/bin/mvn-…" About a minute ago Up About a minute 0.0.0.0:1984->1984/tcp, 0.0.0.0:8984->8984/tcp, 8985/tcp basexhttp
root@doge:~#