본문 바로가기

Docker

Docker container 데이터 유지한 상태로 옮기기 (elasticsearch 서버 이관)

docker - elasticsearch를 pc환경에서 개발하다가 불편을 느껴서 포스팅합니다. 

elasticsearch는 특별한 설정이 없다면 데이터가 elasticsearch/data 폴더에 저장됩니다. 저는 이 데이터와 설치되어 있는 플러그인(nori 형태소 분석기)을 그대로 가지고 ubuntu서버에서 올려보겠습니다.

docker commit CONTAINER [CONTAINER ID]

commit이 완료되면 아래와 같이 image가 생성됩니다.

생성된 image를 save 합니다. 

docker save -o [filename.tar] [IMAGE_ID]

생성된 tar 파일을 sftp를 사용하여 우분투 서버에 업로드합니다. 업로드가 완료되면 load 합니다. 

sudo docker load -i filename.tar

load가 완료되면 image를 조회합니다. 

sudo docker image ls

repository명과 tag를 등록해줍니다. 

sudo docker image tag [IMAGE_ID] [REPOSITORY_NAME:TAG]

잘 변경되었다면 이제 run 명령어로 실행합니다. 

sudo docker run -d --name SPB_TEST -p [port:port] -p [port:port] -e "discovery.type=single-node" -it elastictest:7.14.1

실행이 완료되면 잘 실행이 되었나 검증해봅니다. 

curl 'localhost:10200/인덱스명/_search'

이것으로 docker elasticsearch 서버 이관을 완료했습니다. 

'Docker' 카테고리의 다른 글

Docker sudo 없이 실행하기  (0) 2023.02.27
Ubuntu에 Docker 설치하기  (0) 2022.04.14