J'exécute le conteneur hypriot/rpi-busybox-httpd
J'essaye de ssh au docker container: mais cela donne une erreur:
pi@raspberrypi:~ $ docker exec -it cc55da85b915 bash
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"bash\": executable file not found in $PATH"
pi@raspberrypi:~ $ docker exec -it cc55da85b915 sh
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"sh\": executable file not found in $PATH"
est-ce que je fais tout de suite?
Il se peut que votre image n'ait pas le binaire/bin/bash installé (comme suggéré précédemment), j'ai eu le même problème et j'ai pu entrer dans le conteneur en utilisant/bin/sh
docker exec -ti cc55da85b915 /bin/sh
Une autre solution de contournement pourrait être d'exécuter directement les commandes sans avoir accès à un shell.
docker exec -ti cc55da85b915 ls /etc
L'image que vous utilisez semble ne pas avoir le binaire / bin/bash installé mais elle devrait avoir / bin/sh
Essayer:
docker exec -it cc55da85b915 sh
Vous pouvez le faire de différentes manières, vous pouvez attacher en utilisant la commande attacher de docker.
$ Sudo docker attach cc55da85b915 #by ID
Ou vous pouvez utiliser la commande docker exec:
$ Sudo docker exec -i -t cc55da85b915 /bin/bash
Si /bin/bash
échoue, vous pouvez utiliser /bin/sh
qui fonctionne dans plus de conteneurs:
$ Sudo docker exec -i -t cc55da85b915 /bin/sh
Vous devrez peut-être spécifier le chemin complet vers bash
, par exemple:
docker exec -it cc55da85b915 /bin/bash
ou /usr/local/bin/bash
, ou partout où bash se trouve dans cette image.
J'espère que cela t'aides!
Pour l'image basée sur Alpine, le docker exec -ti cc55da85b915/bin/sh et le docker exec -ti cc55da85b915 ls/etc ont fonctionné. Comme suggéré par "Esteban Collado".
Cependant, pour les autres versions de Linux que j'utilise, docker exec -ti cc55da85b915 bash