2016-09-08 6 views
0

ホストマシンからドッカーコンテナの内部でいくつかのコマンドを実行しようとしています。通常、ホストからのドッカーコンテナでシェルコマンドを実行する場合は、次のようにします。ドッカーコンテナ内のディレクトリを変更できませんか?

docker exec -ti myContainer ls -l 

これは問題なく動作します。私はこのようなディレクトリを変更しようとすると、しかし:

docker exec -ti myContainer cd myDirectory 

それはエラーがスローされます。

rpc error: code = 2 desc = "oci runtime error: exec failed: exec: \"cd\": executable file not found in $PATH"

これが起こって、どのように私はそれを解決することができますされるだろう、なぜ誰もが任意のアイデアを持っていますか?

答えて

5

cdはOS実行可能ではありませんが、シェルコマンドです。それを実行するには、シェルを実行して解析する必要があります。 docker exec -ti myContainer /bin/sh -c "cd myDirectory"

+0

非常に興味深い - 情報ありがとう! –

+0

あなたは次のコマンドを実行することができます。command -V cd ... cdのタイプを表示します。 – euphoria83

関連する問題