Jinhwan
코딩랍스터🦞
Jinhwan
전체 방문자
오늘
어제
  • 분류 전체보기 (93)
    • 일상 (15)
      • 독후감 (9)
    • Computer Science (26)
      • 네트워크 (0)
      • 알고리즘 (0)
      • 데이터베이스 (4)
      • 객체지향 (3)
      • Security (4)
      • 멀티코어 (3)
      • 디자인패턴 (8)
    • 개발 (40)
      • 쿠버네티스 (2)
      • Oracle (15)
      • Spring (12)
      • Git (2)
      • MySQL (1)
      • C++ (1)
      • Neo4j (4)
      • 데이터 엔지니어링 (2)
    • 인공지능 (12)
      • 강화학습 (2)
      • Computer Vision (2)
      • 생성모델 (1)
      • 논문 (2)
      • LLM (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • LockFreeHash
  • Spring Rest Docs
  • Database
  • docker
  • springsecurity
  • LLM
  • SQL 연산자
  • CEO라는 직업
  • SQL 종류
  • 남궁훈 고문
  • Java
  • 독후감
  • EER Model
  • 강화학습
  • spring boot
  • 자바
  • go
  • 객체지향
  • 마음의 법칙
  • GraphDB
  • Spring
  • 더 좋은 삶을 위한 철학
  • Neo4j
  • @Validation
  • 오브젝트
  • 데이터 베이스개론
  • JUnit
  • SQL
  • self rag
  • RAG

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Jinhwan

코딩랍스터🦞

[Neo4j] Neo4j Docker Compose
개발/Neo4j

[Neo4j] Neo4j Docker Compose

2023. 5. 3. 18:43

Neo4j configuration은 진짜 많다. 이는 다음 링크에서 확인할 수 있지만 오늘은 간략한 시작방법만 정리해보고자 한다.

https://neo4j.com/docs/operations-manual/current/docker/ref-settings/

 

Docker-specific configuration settings - Operations Manual

A conversion table for the Neo4j configuration settings to the Docker format.

neo4j.com

docker run

다음 command를 통해 neo4j docker를 run시킬 수 있다.

docker run \
    --name testneo4j \
    -p7474:7474 -p7687:7687 \
    -d \
    -v $HOME/neo4j/data:/data \
    -v $HOME/neo4j/logs:/logs \
    -v $HOME/neo4j/import:/var/lib/neo4j/import \
    -v $HOME/neo4j/plugins:/plugins \
    --env NEO4J_AUTH=neo4j/password \
    neo4j:latest

관련 parameter를 간략하게 설명하자면 아래와 같다.


포트 개방

Neo4j의 default configuration에서 port들은 다음과 같이 설정이 되어진다.

- 7474 for HTTP
- 7473 for HTTPS
- 7687 for Bolt

Neo4j가 제공하는 서비스 중에는 Neo4j Browser와 Bolt라는게 존재한다.

 

- Neo4JjBrowser란 Cypher쿼리를 실행할 수 있는 대화식 쉘과 그래프 시각화를 제공해주는 웹서비스이다.

- Bolt란 Binary Protocol로 Neo4JjGraph DBMS와 Client가 효과적으로 통신을 하기 위해 디자인되었다. 

 

이들을 사용하기 위해 기본적으로 docker를 run할때 port개방이 필요한 것이다.

 

백그라운드 모드 설정

-d 옵션을 통해 docker를 백그라운드 모드로 설정한 것을 알 수 있다.

 

Volume 설정

Volume 옵션은 기본적으로 docker에서 구동되는 service에서 write되는 데이터를 host device에 저장하는 옵션인데 Neo4j 공홈에서는 다음 4가지 항목에 대한 volume설정을 진행했다.

- data 
DB의 데이터가 저장되는 곳이다.

- logs
Neo4j의 log가 기록되는 곳이다.

- import
특정 csv를 불러오고 script를 통해 데이터를 DB상에 저장하고자 한다면 해당 폴더에 저장하게 되면 load되면서 neo4j가 이를 실행시켜서 데이터를 DB상에 반영하게 된다.

- plugin
custom한 plugin 및 다른 plugin을 활용하고자 한다면 plugin폴더에 해당 플러그인을 저장하면 된다. 그외에도 -env명령어를 통해 plugin을 추가하는 것 또한 가능하다.

환경 변수 추가

 Neo4Jj인스턴스를 초기화 할때 사용하게 될 사용자 이름과 비밀번호를 설정하게 된다. 위와 같은 예시로 실행하게 되면 

userId는 neo4j, password는 password로 초기화되게 된다.


Neo4j Web 접속

성공적으로 docker가 실행되고 http://localhost:7474로 접속하게 되면 다음과 같은 화면을 볼 수 있다.

username과 password에 위에서 설정한 값을 넣어주면

다음과 같이 시작화면을 볼 수 있게 된다.

 

단순한 docker의 실행임에도 불구하고 공부할게 산더미처럼 보인다.

 

출처

https://neo4j.com/docs/operations-manual/current/docker/introduction/

 

Introduction - Operations Manual

An introduction to how Neo4j runs in a Docker container.

neo4j.com


긴 글 읽어주셔서 감사합니다.

 

틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.

 

📧 : realhwan1202@gmail.com

🔗 : https://github.com/RicardoKim

저작자표시 비영리 변경금지 (새창열림)

'개발 > Neo4j' 카테고리의 다른 글

[Neo4j] Neo4j의 메모리 구성  (0) 2023.05.06
[Neo4j] Cypher Query - (1)  (1) 2023.05.04
[Neo4j] 그래프 데이터베이스란?  (0) 2023.05.03
    '개발/Neo4j' 카테고리의 다른 글
    • [Neo4j] Neo4j의 메모리 구성
    • [Neo4j] Cypher Query - (1)
    • [Neo4j] 그래프 데이터베이스란?
    Jinhwan
    Jinhwan
    잘 몰라서 하고 있는 블로그 입니다. 틀린 부분에 대해서 언제든지 댓글 달아주세요.

    티스토리툴바