먼저 앞서서 docker-compose.yml 를 왜 사용하게 되었는지 부터 알아보자
앞서서 나는 elasticsearch와 kibaba 둘다 각각 docker 를 이용해서 사용했다.
여기서 클릭이든 CLI에서 명령어를 입력하든 알수없는 귀차니즘이 발생하여 한번에 구동하는 법을 찾아보다 알게 된 내용이다.
Docker는 내가 잘 알고있는 분야가 아니기 때문에 그냥 헤딩했다. (물론 잘 알고있는 분야가 없다.)
내가 설정한 Docker-compose.yml 은 다음과 같다.
version: '3'
services:
elasticsearch:
container_name: elasticsearch_
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
ports:
- 9200:9200
- 9300:9300
networks:
- default
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- TZ=Asia/Seoul
user: root
restart: always
privileged: true
kibana:
container_name: kibana_
image: docker.elastic.co/kibana/kibana-oss:7.10.2
ports:
- 5601:5601
networks:
- default
environment:
ELASTICSERCH_UTL: http://elasticsearch:9200
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
environment:
- TZ=Asia/Seoul
restart: always
privileged: true
networks:
default:
external:
name: elastic
일단 elasticsearch와 kibana oss 버전 pull은 필자의 이전 글을 잘 살펴보자 ^_^
하기와 같이 Docker NetWork를 생성했다. 생성 코드는 다음과 같다.
docker network create elastic
왜 생성하냐고? 필자도 잘 모른다. 다음 글에 남겨보도록 하겠다. 아마 해당부분때문이지 않을까 싶다
networks:
default:
external:
name: elastic
이 부분에 networks : default 지정을 해서? 그렇다고 생각한다. 이론적으로 아는건 아니지만 감이다. (틀릴 가능성이 더 높다.)
자 이제 각자의 맞는 elasticsearch 와 kibana 를 저기 보이는
image에 작성하도록 하자 본인이 뭘 받았는지 잘 모르겠다? 하면
Docker Desktop에 나와있을 것이다.
자 이제 이미지를 적었으면 기존 elasticsearch conf.yml 처럼 docker-compose.yml 에 environment 부분에 본인이 구동하고자 하는 환경을 작성하면 된다.
자자 이제 yml을 작성했으면 yml로 docker-compose up을 시키기만 하면 땡이다.
yml 을 작성한 경로에서 다음과 같이 명령어를 입력하면 된다.
성공적으로 컨테이너가 뜨면
다음과 같이 docker desktop container 에서 확인 할 수 있다.
다음과 같이 구동되었음을 확인할 수 있다.
필자는 docker을 많이 사용해 본적이 없으며 틀린 내용이 많을 수 있다.
A/S는 어려움을 알립니다. 질문이 있다면 댓글에 남기도록 하자.