반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- 영국) #프라도 미술관(마드리드
- 언론 #백업 backup #세계적으로 가장 강력한 툴
- 프랑스) #바티칸 박물관(로마
- #유럽 미술관 #오랑주리 미술관 #산 마르코 미술관# 로댕 미술관 #브레라 미술관 #샤갈 미술관 #오페라 가르니에 #귀스타브 모로 미술관 #아카데미아 갤러리 #우피치 미술관#바르베리니 궁전 #코톨드 갤러리 #스탕달 신드롬
- #선진국 대한민국 #선진국 #대한민국 #아이들 #청소년 #고민 #해결 #심리
- # 암호(비밀번호) 분실 # 암호(비밀번호) 찾기 #오피스(doc
- 로마) #반 고흐 미술관(암스테르담
- 엑셀
- 문서 파일 #사진 정리 #포렌식 # 출판
- #자기계발 #자기성장 #자기관리 #긍정적인삶 #마인드셋 #심리학에세이 #삶의태도
- #파이썬 #번역 프로그램 #async await #동기 비동기 #coroutine #googletrans #translator
- 이탈리아) #루브르 박물관(파리
- 파워포인트) #집(zip)파일 #아래한글(HWP) #brute-force(무차별 대입)
- 오블완
- xls
- 프랑스) #오랑주리 미술관(파리
- ppt) 파일 #오피스(워드
- #다산 정약용 #유배지에서 보낸 편지 #도덕 #용기 #염 #주역 #호연지기 #효제 #근검
- 이탈리아) #오르세 미술관(파리
- #ExifTool # 메타데이터 metadata #meta information #사진
- 티스토리챌린지
- # 그리스 신화 # 로마 신화 #카오스 #가이아 #우라노스 #크로노스 #제우스 #헤라 #포세이돈 #하데스 #데메테르 #아테나 #아폴론 # 아르테미스 #헤르메스 #헤파이스토스 #계보 #그리스 로마 신화 영어 어원
- 스페인) #르네상스·바로크 조각 미술관(보르게세
- #평판관리 #좋은평가받는법 #관계심리학 #인간관계팁 #신뢰쌓기 #진심의힘
- #스탕달 신드롬 #유럽 미술관 #우피치 미술관(피렌체
- #악어 #카피바라 #설치류 #카이만 #네셔널지오그래픽 #IUCNCSG.ORG
- 간단한 Word 자동화 프로그램 #다산 정약용 # 유배지에서 보낸 편지 #유니코드 이스케이프
- 네덜란드) #샤갈 미술관(니스
- #데일카네기 인간관계론 (고전 필독서) #인간관계론 (도서명) #인간관계개선 (가장 핵심적인 목적) #대화의기술 (실질적인 활용법) #인간관계꿀팁 (정보성) #직장생활팁 (실용성) #자기계발서 (카테고리)
- 프랑스)#내셔널 갤러리(런던
Archives
- Today
- Total
아톨러브
도커(docker)에 Qdrant 벡터 데이터베이스 실행하기(로컬 & 클라우드) 본문
반응형
아래 Docker 명령어는 Qdrant 벡터 데이터베이스를 Docker 컨테이너로 실행하는 데 사용됩니다.
docker run -p 6333:6333 -p 6334:6334 -v "$(pwd)/qdrant_storage:/qdrant/storage:z" qdrant/qdrant
이 명령어는 Qdrant 이미지를 사용하여 새로운 Docker 컨테이너를 생성하고 실행하는 명령입니다.

1. docker run
- docker run: Docker 이미지를 기반으로 새로운 컨테이너를 생성하고 실행하는 기본 명령어입니다.
2. -p 6333:6333
- -p: 포트 매핑 (Port Mapping) 옵션입니다. 호스트(당신의 컴퓨터)의 포트와 컨테이너 내부의 포트를 연결해 줍니다.
- 6333:6333:
- 첫 번째 6333: 호스트 컴퓨터의 포트 번호입니다.
- 두 번째 6333: 컨테이너 내부에서 Qdrant가 사용하는 기본 gRPC 포트 번호입니다.
- 의미: 이 설정은 호스트 컴퓨터의 6333번 포트로 들어오는 모든 네트워크 요청을 Qdrant 컨테이너 내부의 6333번 포트로 전달하라는 의미입니다. Qdrant 클라이언트(Python 코드 등)가 Qdrant 서버와 통신할 때 이 포트를 사용합니다.
3. -p 6334:6334
- -p: 역시 포트 매핑 옵션입니다.
- 6334:6334:
- 첫 번째 6334: 호스트 컴퓨터의 포트 번호입니다.
- 두 번째 6334: 컨테이너 내부에서 Qdrant가 사용하는 기본 REST API 포트 번호입니다.
- 의미: 이 설정은 호스트 컴퓨터의 6334번 포트로 들어오는 모든 네트워크 요청을 Qdrant 컨테이너 내부의 6334번 포트로 전달하라는 의미입니다. Qdrant의 웹 UI나 RESTful API를 통해 Qdrant 서버와 통신할 때 이 포트를 사용합니다.
4. -v "$(pwd)/qdrant_storage:/qdrant/storage:z"
- -v: 볼륨 마운트 (Volume Mount) 옵션입니다. 호스트 컴퓨터의 특정 디렉토리를 컨테이너 내부의 특정 디렉토리와 연결하여 데이터를 영구적으로 저장할 수 있게 해줍니다. 컨테이너가 삭제되더라도 데이터는 호스트에 남아있게 됩니다.
- "$(pwd)/qdrant_storage":
- $(pwd): 현재 명령어를 실행하는 터미널의 현재 작업 디렉토리(Current Working Directory)를 의미합니다. 예를 들어, C:\user\user에서 이 명령어를 실행했다면, 이 경로는 C:\user\user\qdrant_storage가 됩니다.
- /qdrant/storage: 컨테이너 내부에서 Qdrant가 데이터를 저장하는 기본 경로입니다.
- 의미: 이 설정은 호스트 컴퓨터의 현재 디렉토리 아래에 있는 qdrant_storage라는 폴더를 Qdrant 컨테이너 내부의 /qdrant/storage 경로에 연결하라는 의미입니다. Qdrant가 생성하는 모든 데이터(컬렉션, 벡터, 페이로드 등)는 컨테이너 내부의 /qdrant/storage에 저장되며, 이는 실제로는 호스트의 qdrant_storage 폴더에 저장됩니다. 이렇게 하면 컨테이너를 중지하거나 삭제해도 Qdrant 데이터는 손실되지 않고 유지됩니다.
- :z: SELinux 컨텍스트 레이블링 옵션입니다. (주로 Linux 시스템에서 사용되며, Windows나 macOS에서는 큰 의미가 없을 수 있습니다.)
- 의미: 컨테이너가 호스트 볼륨을 읽고 쓸 수 있도록 SELinux 보안 정책을 자동으로 조정해 줍니다. z 옵션은 볼륨을 공유하는 모든 컨테이너가 해당 볼륨에 접근할 수 있도록 허용합니다.
5. qdrant/qdrant
- qdrant/qdrant: 실행할 Docker 이미지의 이름입니다.
- qdrant: Docker Hub의 사용자/조직 이름입니다.
- qdrant: 이미지의 레포지토리 이름입니다.
- 의미: Docker Hub에서 qdrant/qdrant라는 이름의 최신 Qdrant 이미지를 다운로드하여 컨테이너를 실행하라는 의미입니다. (만약 로컬에 이미지가 없다면 자동으로 다운로드합니다.)
명령어 전체 요약
이 명령어는 "현재 디렉토리에 qdrant_storage라는 폴더를 만들고, 이 폴더를 Qdrant 컨테이너의 데이터 저장 공간으로 사용하면서, 호스트의 6333번 포트와 6334번 포트를 각각 컨테이너의 gRPC 및 REST API 포트에 연결하여 Qdrant 서버를 실행하라"는 의미입니다. 이 명령어를 통해 Qdrant 서버를 안정적으로 실행하고, 컨테이너가 재시작되거나 삭제되어도 데이터가 보존되도록 설정할 수 있습니다.
AWS
sudo docker run -p 6333:6333 -p 6334:6334 -v "$(pwd)/qdrant_storage:/qdrant/storage:z" qdrant/qdrant
AWS 인스턴스에서 실행할 때 추가되는 부분은 sudo와 네트워크 설정에 대한 고려사항입니다.
- sudo:
- sudo는 "superuser do"의 약자로, 일반 사용자가 관리자(root) 권한으로 명령을 실행할 수 있도록 해주는 명령어입니다.
- AWS 인스턴스(대부분 Linux 기반)에서 Docker를 설치하고 실행할 때, 기본적으로 Docker 명령은 root 권한으로 실행되어야 합니다. 따라서 docker 명령 앞에 sudo를 붙여서 관리자 권한으로 실행하는 것이 일반적입니다.
- 만약 sudo 없이 Docker 명령을 실행하고 싶다면, 현재 사용자 계정을 docker 그룹에 추가해야 합니다. (예: sudo usermod -aG docker $USER 후 재로그인) 하지만 sudo를 사용하는 것이 더 간단하고 흔한 방법입니다.
- AWS 인스턴스 환경 고려사항:
- 보안 그룹 (Security Group): AWS 인스턴스에서 Qdrant에 외부에서 접속하려면, 해당 인스턴스에 연결된 보안 그룹에서 6333번 (gRPC) 포트와 6334번 (REST API) 포트에 대한 인바운드(Inbound) 규칙을 열어주어야 합니다.
- 일반적으로 개발/테스트 목적이라면 특정 IP 주소(예: 본인 사무실/집 IP)나 0.0.0.0/0 (모든 IP 허용 - 보안에 취약하므로 주의)으로 설정할 수 있습니다.
- 실제 서비스 환경에서는 특정 서버의 IP 주소만 허용하는 등 보안을 강화해야 합니다.
- $(pwd): AWS 인스턴스에서도 $(pwd)는 명령어를 실행하는 현재 디렉토리를 의미합니다. 따라서 Qdrant 데이터가 저장될 qdrant_storage 폴더는 인스턴스 내에서 명령어를 실행한 위치에 생성됩니다.
- 퍼블릭 IP / DNS: Qdrant 클라이언트(예: 로컬 PC의 Python 코드)에서 AWS 인스턴스의 Qdrant 서버에 접속하려면, host="localhost" 대신 AWS 인스턴스의 퍼블릭 IP 주소나 퍼블릭 DNS 이름을 사용해야 합니다.
- 보안 그룹 (Security Group): AWS 인스턴스에서 Qdrant에 외부에서 접속하려면, 해당 인스턴스에 연결된 보안 그룹에서 6333번 (gRPC) 포트와 6334번 (REST API) 포트에 대한 인바운드(Inbound) 규칙을 열어주어야 합니다.
결론적으로, docker run 명령어의 각 옵션(-p, -v, 이미지 이름)에 대한 설명은 AWS 인스턴스 환경에서도 동일하게 적용됩니다. 단지 Linux 환경에서 Docker를 실행하기 위해 sudo를 붙이며, AWS의 네트워크 보안 설정인 보안 그룹을 통해 해당 포트들을 열어주어야 외부에서 Qdrant 서버에 접근할 수 있다는 점만 추가로 고려하시면 됩니다.
반응형
'AI, 클라우드, 문서, 자동화' 카테고리의 다른 글
| Qdrant 벡터 데이터베이스에 새로운 컬렉션(Collection)을 생성하는 예시 (0) | 2025.07.20 |
|---|---|
| React 기본 사용법 (0) | 2025.07.14 |
| AWS EC2에 프론트엔드 배포하기 (0) | 2025.07.14 |
| .env 파일을 AWS 인스턴스에 올리는 방법 (0) | 2025.07.12 |
| 마인드맵으로 아이디어 정리와 실시간 협업 소프트웨어로 업무 성과 창출 (0) | 2024.12.13 |