만약 내가한다면
$ 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