728x90
개요
docker-compose 를 이용한 n8n 설치중 아래와 같은 에러가 발생하였다.
결과적으로는 docker-compose.yml 파일에서 volume 경로 문제였다.
아래는 GPT을 활용하여, 작성하였고, 중간에 내 언어로 몇몇 바꾸었다.
Error: Command "start" not found
이슈 해결 가이드
목표 : Error: Command "start" not found 및
Named volume ... is used ... but no declaration was found 오류를 영구적으로 해결하고,
n8n 컨테이너를 named volume으로 안전하게 재배치한다.
🛠️ 문제 현상
- n8n 컨테이너가 즉시 종료(restarting 루프)되며
Error: Command "start" not found
표시 docker compose up -d
시ERROR: Named volume "n8n_data:/home/node/.n8n:rw" is used in service "n8n" but no declaration was found in the volumes section.
- 원인 : 바인드‑마운트(
./n8n_data
)가 빈 폴더/잘못된 권한으로 이미지 내부의 기본 파일을 덮어써서 실행 스크립트가 사라짐
📝 해결 절차 한눈에 보기 (TL;DR)
# 0) 컨테이너 중지 & 기존 폴더 백업
docker compose down
mv ./n8n_data ./n8n_data_backup
# 1) docker-compose.yml 수정
# - ./n8n_data → n8n_data
# - 파일 맨 아래 volumes: 블록 추가
# 2) 새 볼륨으로 기동
docker compose up -d
docker compose ps # STATUS: Up 확인
docker logs -f n8n # 정상 로그 확인
# 3) 필요하면 백업 데이터 복사 (선택)
docker run --rm \
-v n8n_data:/data \
-v $(pwd)/n8n_data_backup:/from \
busybox sh -c "cp -av /from/. /data/"
0단계 — 컨테이너 중지 & 데이터 백업
docker compose down
mv ./n8n_data ./n8n_data_backup # 폴더가 있으면 백업
1단계 — docker-compose.yml
수정
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "9301:5678"
environment:
# ... (생략) ...
volumes:
- n8n_data:/home/node/.n8n # ★ named volume 사용
depends_on:
- postgresql
postgresql:
image: postgres:13
restart: always
environment:
# ... (생략) ...
volumes:
- pg_data:/var/lib/postgresql/data
# ← 파일 맨 아래에 추가!
volumes:
n8n_data:
pg_data:
volumes: 블록은 맨 왼쪽에 두어야 하며, 이름만 써도 기본(local) 드라이버로 생성Postgres를 바인드‑마운트로 두고 싶다면 pg_data 부분은 빼도 무방
2단계 — 새 볼륨으로 기동
docker compose up -d
docker compose ps # n8n STATUS: "Up"인지 확인
docker logs -f n8n # 부트 로그 + 헬스체크 확인
정상이라면 아래 비슷한 로그가 반복됩니다.
n8n_1 | n8n ready on 0.0.0.0, port 5678
n8n_1 | Version: 1.x.x
3단계 — 기존 데이터 가져오기 (선택 사항)
백업 폴더에서 새 named volume으로 복사:
docker run --rm \
-v n8n_data:/data \
-v $(pwd)/n8n_data_backup:/from \
busybox sh -c "cp -av /from/. /data/"
named volume은 이미 UID 1000:1000 소유이므로 별도 chown 필요 없음.
✅ 점검 체크리스트
확인 항목 | 기대 값 | 확인 명령 |
---|---|---|
컨테이너 상태 | Up (healthy) | docker compose ps |
n8n 웹 UI | 열림 | 브라우저 → http://localhost:9301/ |
볼륨 존재 | n8n_data | docker volume ls |
로그 에러 | 없음 | docker logs -f n8n |
CLI 버전 | v2.0 이상 권장 | docker compose version |
🆘 문제 해결이 안 될 때
- 로그 확인
docker logs -f n8n
- 볼륨 권한
docker volume inspect n8n_data
- compose 버전 업그레이드
구버전에서는volumes:
블록을 인식 못 하는 경우가 있으므로 최신 CLI(v2+) 설치 권장
'개발자로서 살아남기 > n8n' 카테고리의 다른 글
n8n 을 이용한 PR AI 코드리뷰 가이드 (with Dooray) (9) | 2025.07.25 |
---|