[Docker] Container 조작: 폴더 간 이동

Jae Gyeong Lee·2024년 10월 19일

1. Container 간 파일 이동

Question: <폴더1>에 있는 특정 <확장자> 파일을 <폴더2>로 복사.

→ Answer: find, cp 명령어 조합

$find </경로/폴더1/> -type f -name "*.<확장자>" -exec cp {} </경로/폴더2/> \;

(1) find </경로/폴더1/> -type f -name "*.<확장자>"

→ <폴더1>에서 <확장자>에 해당하는 파일을 모두 찾겠다.

  • find : 파일/폴더 검색(찾는) 명령어
  • </경로/폴더1/> : 검색할 경로
  • -type f : 파일만 찾겠다는 것(f = file)
  • -name "*.<확장자>" :
    (ㄱ) -name = 파일 이름 패턴 지정 옵션
    (ㄴ) * = 모든 문자열을 의미(즉, 파일 이름은 상관하지 않음)
    (ㄷ) .<확장자> = 해당 확장자로 끝나는 파일 탐색

(2) -exec cp {} </경로/폴더2/> \;

→ find를 통해 찾은 파일을 <폴더2>로 복사하겠다.

  • -exec : -exec 옵션 뒤에 위치한 명령어를 '실행'하겠다 선언
  • cp : 파일 복사(copy) 명령어
  • {} : find로 찾은 각각의 파일명을 의미
  • \; : -exec 옵션을 통해 수행한 명령어를 '종료'하겠다 선언

사용 예)

$find /usr/src/app/output1/ -type f -name "*.wav" -exec cp {} /usr/src/app/input2/ \;

ㄴ (1) /usr/src/app/output1/ 폴더에서 .wav 확장자를 갖는 모든 '파일'을 찾고(파일명 무관),
ㄴ (2) /usr/src/app/input2/ 폴더로 복사.

2. Container → 로컬 파일 이동

Question: docker container 내부 <폴더>에 있는 특정 <파일>을 Local PC 내 특정 <폴더>로 복사

→ Answer: cp 명령어 사용

$docker cp <container_id>:</컨테이너_폴더경로/파일명.확장자> <로컬PC_폴더경로/>
  • cp: 복사(copy) 명령어

사용 예)

$docker cp 1d5ae7e44191:/usr/src/app/output1/report/json_output.json C:/Users/jaegyeong/Desktop/test1020/

3. 로컬 → Container 파일 이동

Question: Local PC 내 특정 <폴더>에 있는 특정 파일을 docker container 내부 <폴더>로 복사

→ Answer: cp 명령어 사용

$docker cp <로컬PC_파일경로/파일명.확장자> <container_id>:/<컨테이너_폴더경로>/
  • cp: 복사(copy) 명령어

사용 예)

$docker cp C:/Users/jaegyeong/Desktop/excel_merge/excel1.xlsx 1d5ae7e44191:/usr/src/app/test/
ㄴ docker contaier에 접속된 상태에선 불가
profile
안녕하세요 반갑습니다. 공부한 내용들을 기록하고 있습니다.

0개의 댓글