コンテナを実行していますhypriot/rpi-busybox-httpd
Dockerコンテナにsshしようとしていますが、エラーが発生しています:
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"
私はすぐにやっていますか?
あなたのイメージにバイナリ/ bin/bashがインストールされていない可能性があります(以前に提案されたように)、同じ問題があり、/ bin/shを使用してコンテナに入ることができました
docker exec -ti cc55da85b915 /bin/sh
別の回避策は、シェルにアクセスせずにコマンドを直接実行することです。
docker exec -ti cc55da85b915 ls /etc
使用しているイメージには、バイナリ/ bin/bashがインストールされていないようですが、/ bin/shが必要です
試してください:
docker exec -it cc55da85b915 sh
それにはさまざまな方法があり、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
bash
へのfullパスを指定する必要があるかもしれません、e.g。:
docker exec -it cc55da85b915 /bin/bash
または/usr/local/bin/bash
、またはその画像内のbashの場所。
お役に立てれば!
Alpineベースのイメージの場合、docker exec -ti cc55da85b915/bin/shおよびdocker exec -ti cc55da85b915 ls/etcが機能しました。 「エステバンコラード」が示唆するとおり。
ただし、私が使用する他のLinuxバージョンでは、docker exec -ti cc55da85b915 bash