「docker cp」は実行できますが、「docker ls」は実行できないのはなぜですか?

「docker cp」は実行できますが、「docker ls」は実行できないのはなぜですか?

もし私がするなら

$ sudo docker cp c7033ac0fdd2:/home/mydir/myfile.txt .

ファイルがコピーされます。しかし、私がそうするなら

$ sudo docker ls c7033ac0fdd2:/home/mydir/
docker: 'ls' is not a docker command.
See 'docker --help'

それでは、ディレクトリの内容をどのようにリストし、を使用して作成しないのですかls

ベストアンサー1

いくつかの合理的なことを前提としています(シェルとlsプログラムがあり、コンテナのエントリポイントが厳密にロックされていない)。

docker exec c7033ac0fdd2 ls /home/mydir

「なぜ?」に関しては、dockerでビルドする必要がある量と外部プログラムで実行する必要がある量には制限があります。

仮定が無効な場合、コンテナの内容を tar ファイルにエクスポートして表示できます。

docker container export c7033ac0fdd2 | tar vtf - | grep /home/mydir

おすすめ記事