Как скрыть докеры

Я запускаю контейнер hypriot/rpi-busybox-httpd

Я пытаюсь использовать ssh для контейнера докеров: но он дает ошибку:

[email protected]:~ $ 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"

[email protected]:~ $ 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"

Я делаю это прямо сейчас?

Ответ 1

Возможно, у вашего изображения нет установленного бинарного /bin/ bash (как было предложено ранее), у меня была та же проблема, и я смог войти в контейнер, используя /bin/sh

docker exec -ti cc55da85b915 /bin/sh

Другим обходным решением может быть выполнение непосредственно команд без доступа к какой-либо оболочке.

docker exec -ti cc55da85b915 ls /etc

Ответ 2

Образ, который вы используете, кажется, что он не имеет установленного двоичного файла /bin/bash, но он должен иметь /bin/sh

Пытаться:

docker exec -it cc55da85b915 sh

Ответ 3

Вам может потребоваться указать полный путь к bash, например:

docker exec -it cc55da85b915 /bin/bash

или /usr/local/bin/bash или везде, где bash находится на этом изображении.

Надеюсь, это поможет!

Ответ 4

У вас есть много разных способов сделать это, вы можете присоединить команду docker attach.

$ sudo docker attach cc55da85b915 #by ID

Или вы можете использовать команду docker exec:

$ sudo docker exec -i -t cc55da85b915 /bin/bash

Если /bin/bash терпит неудачу, вы можете использовать /bin/sh, который работает в большем количестве контейнеров:

$ sudo docker exec -i -t cc55da85b915 /bin/sh

Ответ 5

Для образа на основе Alpine работали docker exec -ti cc55da85b915/bin/sh и docker exec -ti cc55da85b915 ls/etc. По предложению "Эстебан Колладо".

Однако для других версий Linux, которые я использую, docker exec -ti cc55da85b915 bash