반응형
이번 문제의 핵심은 “n8n 워크플로우가 쓰는 경로” 와 “Docker 볼륨이 연결된 호스트 폴더” 가 서로 달랐기 때문
- 여러분은 호스트의 F:\N8N-DATA-Storage\outputs 를 컨테이너에 연결해 주지 않고,
- n8n 노드에는 /home/node/.n8n/outputs/... (또는 /data/outputs/...) 경로를 지정했어요.
→ 이 경로는 컨테이너 내부만을 가리키기 때문에, 실제 호스트(F:)에는 파일이 절대 찍히지 않았습니다.
→ 대신 권한 오류(“not writable”) 까지 나면서 쓰기가 실패했죠.
Docker 를 띄울 때 볼륨을 정확히 매핑
# 예시: outputs 폴더를 n8n 기본 outputs에 연결
cmd 창에서
docker run -d --name n8n \
-p 5678:5678 \
-v "F:/N8N-DATA-Storage/outputs:/home/node/.n8n/outputs" \
n8nio/n8n
Write File to Disk 노드의 File Path 를
/data/outputs/my-result.xlsx)
로 딱 맞춰 주니까, 호스트의
F:\N8N-DATA-Storage\outputs\my-result.xlsx
파일 생성
정리하자면
“내가 쓰고 싶은 F:...outputs” 폴더를
컨테이너가 실제로 바라보는 경로(예: /home/node/.n8n/outputs 또는 /data/outputs)와 완벽히 일치 시켜 주지 않으면, n8n 은 파일을 ‘어디에도’ 못 쓰거나 컨테이너 내부에만 써 버립니다.지금처럼 호스트 폴더 ↔ 컨테이너 경로를 정확히 매핑하고, 노드에도 그 경로를 동일하게 지정해 주면 문제 없이 F 드라이브에 파일이 찍힙니다.
![]() |
![]() |
반응형