Как скрыть докеры
Я запускаю контейнер 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