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_폴더경로/>
사용 예)
$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>:/<컨테이너_폴더경로>/
사용 예)
$docker cp C:/Users/jaegyeong/Desktop/excel_merge/excel1.xlsx 1d5ae7e44191:/usr/src/app/test/
ㄴ docker contaier에 접속된 상태에선 불가