docker run 명령어 상세 설명우선 전체 명령어는 다음과 같습니다.
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.10.2
이 명령어를 구성 요소별로 나누어 보면 이렇습니다.
docker run
-d 또는 --detach
--name elasticsearch
docker stop elasticsearch나 docker logs elasticsearch처럼 이름으로 컨테이너를 제어하기가 매우 편리해집니다.-p 9200:9200
:)을 기준으로 **[내 컴퓨터의 포트]:[컨테이너 내부의 포트]**를 의미합니다.http://localhost:9200으로 접속할 수 있는 것입니다.-p 9300:9300
-e "..." 또는 --env "..."
"discovery.type=single-node": Elasticsearch에게 "너는 다른 노드를 찾을 필요 없이 혼자(단일 노드) 실행될 거야"라고 알려주는 설정입니다. 이걸 설정하지 않으면 Elasticsearch가 클러스터를 구성하기 위해 다른 노드를 찾으려고 시도하다가 오류를 낼 수 있습니다."xpack.security.enabled=false": Elasticsearch 8.x 버전부터 기본으로 활성화된 보안 기능(사용자 인증 등)을 비활성화하는 설정입니다. 개발 환경에서는 보안 기능이 없어야 번거로운 인증 절차 없이 바로 접속하고 테스트할 수 있어 편리합니다.docker.elastic.co/elasticsearch/elasticsearch:8.10.2
docker.elastic.co/elasticsearch/elasticsearch는 이미지의 이름이고, :8.10.2는 **버전 태그(tag)**입니다. 버전을 명시해주면 항상 동일한 환경에서 컨테이너를 실행할 수 있어 안정적인 개발이 가능합니다.