728x90
반응형
1. Neo4j Docker 컨테이너 만들고 켜기
1-1. 윈도우에서 준비
- Docker Desktop 설치 + 실행 (이미 되어 있으면 넘어가도 됨)
- PowerShell 열기 (예: Win + X → “Windows PowerShell”)
1-2. Neo4j용 폴더 먼저 만들기 (호스트 쪽)
호스트(윈도우)에서 네오4j 데이터/로그/CSV를 보관할 폴더를 하나 만들어두면 좋습니다.
mkdir C:\neo4j
mkdir C:\neo4j\data
mkdir C:\neo4j\logs
mkdir C:\neo4j\import
앞으로 CSV 파일은 C:\neo4j\import에 넣으면 컨테이너 안에서 자동으로 보이게 만들 거예요!
1-3. Docker로 Neo4j 컨테이너 생성 + 실행
PowerShell에서 아래 명령 한 번만 실행하면 됨:
docker run -d `
--name neo4j-ea `
-p 7474:7474 `
-p 7687:7687 `
-v C:\neo4j_docker\data:/data `
-v C:\neo4j_docker\logs:/logs `
-v C:\neo4j_docker\import:/var/lib/neo4j/import `
-v C:\neo4j_docker\plugins:/plugins `
-e NEO4J_AUTH=neo4j/test1234 `
neo4j:5
- --name neo4j-ea : 컨테이너 이름 (마음대로 바꿔도 되지만, 나중에 계속 이 이름 쓸게)
- -p 7474:7474 : 브라우저용 HTTP 포트
- -p 7687:7687 : Bolt 포트 (드라이버/클라이언트 연결)
- -v C:\neo4j\data:/data : DB 데이터 파일(호스트에 영구 저장)
- -v C:\neo4j\logs:/logs : 로그
- -v C:\neo4j\import:/var/lib/neo4j/import
→ 여기가 CSV 넣는 폴더 매핑 (윈도우 ↔ 컨테이너) - -e NEO4J_AUTH=neo4j/test1234
→ 아이디: neo4j, 비밀번호: test1234 (<< 만드는 사람 마음대로 설정하면 됩니다.) - neo4j:5 : neo4j 5.x 최신 이미지
1-4. 컨테이너가 잘 떴는지 확인
docker ps
예를 들어 이런 식으로 나오면 성공:
CONTAINER ID IMAGE NAMES STATUS
abcd1234efgh neo4j:5 neo4j-ea Up 5 seconds
이제 브라우저에서 접속:
- Username: neo4j
- Password: test1234 (위에서 설정한 값)
로그인 성공하면 이제 Cypher 입력할 준비 끝 ~ !
2. “컨테이너 파일이 어딨는지” 모를 경우, 터미널로 확인 하기
- 컨테이너 안에서의 경로
- 호스트(윈도우)에서 내 파일이 연결되는 경로
docker run에서 이걸 이미 명시적으로 설정한 거라, 구조가 딱 고정돼 있어요
2-1. 컨테이너 안에서 파일 경로 (Neo4j 관점)
컨테이너 안에 들어가면:
docker exec -it neo4j-ea bash
들어가서:
ls -R /var/lib/neo4j
주요 경로는:
- /data : DB 데이터 파일
- /logs : 로그
- /var/lib/neo4j/import : CSV 넣는 폴더 (우리가 -v C:\neo4j\import:/var/lib/neo4j/import로 매핑한 곳)
그래서 Neo4j Browser에서 LOAD CSV 쓸 때는 항상:
LOAD CSV WITH HEADERS FROM 'file:///nodes_departments.csv' AS row
...
처럼 file:/// + import 안에 있는 파일 이름만 쓰면 됩니다.
(file:///C:/... 이런 식으로 안 쓰고, 컨테이너 내부 경로 기준인 거예요!)
2-2. 호스트(윈도우)에서 내 CSV 파일 경로
우리가 docker run 할 때:
-v C:\neo4j\import:/var/lib/neo4j/import
이렇게 했으니까,
- 윈도우에서 실제 폴더: C:\neo4j\import
- 컨테이너에서 보이는 폴더: /var/lib/neo4j/import
즉,
윈도우에서 C:\neo4j\import에 CSV를 넣으면
컨테이너 안에서는 /var/lib/neo4j/import/파일이름.csv로 자동 연결됨.
그래서 앞으로는:
- CSV를 C:\neo4j\import에 복사하고
- Neo4j Browser에서이런 식으로 쓰면 된다.
- LOAD CSV WITH HEADERS FROM 'file:///nodes_people.csv' AS row ...
2-3. “이 컨테이너는 어떤 폴더를 마운트하고 있지?” 확인하는 법
혹시 나중에 docker run 옵션 기억 안 나면, 아래로 다시 확인할 수 있어:
docker inspect neo4j-ea --format "{{json .Mounts}}"
예시 출력:
[
{
"Type":"bind",
"Source":"C:\\neo4j\\data",
"Destination":"/data",
...
},
{
"Type":"bind",
"Source":"C:\\neo4j\\import",
"Destination":"/var/lib/neo4j/import",
...
}
]
여기서
- Source = 윈도우 쪽 경로
- Destination = 컨테이너 안 경로
이렇게 매칭된다고 보면 됩니다.
3. 요약 – 지금부터 어떻게 하면 되냐면
- 이미 했으면 스킵
- docker run ...으로 neo4j-ea 컨테이너 띄우기
- CSV 옮기기
- C:\neo4j\import 폴더에
nodes_departments.csv, nodes_people.csv 등 저장
- C:\neo4j\import 폴더에
- Neo4j Browser 접속
- http://localhost:7474 → neo4j / test1234
- Cypher 실행
- 스키마 제약 → LOAD CSV → MATCH ... RETURN p로 그래프 보기
728x90
반응형
'기술공부 > 개발_코드' 카테고리의 다른 글
| 개발 환경 관리 가이드 (0) | 2025.11.19 |
|---|---|
| 파이썬 가상환경 완전 정리: Mac / Windows + venv / conda 사용법 비교 가이드 (0) | 2025.11.18 |
| 배치처리의 장점 (0) | 2025.02.25 |
| 배치처리 vs. 개별처리 (0) | 2025.02.25 |
| 🚀 Windows에서 OpenSSH를 활용한 원격 접속 설정 및 문제 해결 가이드 (0) | 2025.02.18 |