우분투 snap으로 설치한 docker의 docker cp 오류 임시 해결법

박재한·2022년 11월 20일
0

패키지 관리자 snap?

최신 버전의 우분투에 snap이라는 외부 패키지 관리자가 있다고 한다. 크게 아는 바는 없지만, 우분투에서 docker를 설치할 때 snap 패키지 관리자로 docker를 한 번에 설치할 수도 있다고 한다.

문제점이란?

snap을 사용하여 설치한 docker에서 컨테이너와 호스트와의 docker cp 명령어 간 오류가 날 수도 있다는 이슈가 있다고 한다. open: ~ permission denied 이런 오류였던걸로 기억한다.
docker cp 명령어가 의도대로 파일이 복사되지 않는 문제였다. sudo라던가 파일의 퍼미션을 바꾸는 것으로 잡히지 않았다.

임시 해결법?

완벽한 해결법은 snap-docker 간 docker cp 이슈가 해결되면 사용하면 된다.
임시로 해결할 수 있는 방법이 있다고 한다. stack overflow 댓글에서 발췌했다.

  1. 실행중인 컨테이너가 존재한다.
  2. docker cp 컨테이너:파일경로 /tmp 명령어를 사용하여 /tmp 폴더에 복사한다
docker cp 컨테이너명:파일경로 /tmp
  1. /tmp에 복사했지만, 실제로 /tmp/snap.docker/tmp/ 경로에 파일이 들어와 있다.
    /tmp/snap.docker는 sudo 명령어 없이 ls 명령어나 cd 명령어로 안 따라가지더라.
    다시, /tmp/snap.docker/tmp/ 안에 있는 원하는 파일을 mv나 cp 명령어로 호스트의 원하는 경로에 붙여넣는다.
mv  /tmp/snap.docker/tmp/파일 원하는경로
cp  /tmp/snap.docker/tmp/파일 원하는경로

이런식으로, docker cp 명령어의 오류를 임시로 잡을 수 있다.

0개의 댓글