Docker-compose 사용해보기

Created:

docker-compose를 사용해서 엘라스틱서치, 키바나를 설치해 보고자 한다.
es, kibana는 6.6.0버전으로 설치를 진행하고 docker-compose 버전은 3을 사용하였다. docker-compose를 사용하면 여러개의 컨테이너를 한번에 생성할 수 있고 각 컨테이너끼리 링크연결도 보다 쉽게 할 수 있다.

docker-compose 작성

적당한 폴더를 생성하고 docker-compose.yml 파일을 생성 후 아래와 같이 작성한다.

version: "3"
services:
  elasticsearch:
    container_name: elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:6.6.0
    environment:
      - discovery.type=single-node
    ports:
      - 9200:9200
      - 9300:9300
    restart: always
  kibana:
    container_name: kibana
    image: docker.elastic.co/kibana/kibana:6.6.0
    ports:
      - 5601:5601
    links:
      - elasticsearch:elasticsearch
    restart: always

version: docker-compose 버전을 의미한다.
container_name: 컨테이너 이름을 지정할 수 있다.
environment: 컨테이너의 환경을 설정할 수 있다.
links: 각 컨테이너 끼리 링크연결을 할 수 있다. 여기서는 키바나가 엘라스틱서치 컨테이너를 바라 볼 수 있도록 링크설정을 하였다.
restart: 도커 데몬이 시작 될때 자동으로 컨테이너가 실행 되도록 always로 설정해 주었다.

작성한 docker-compose 실행

작성한 내용 대로 각 컨테이너를 생성 및 백그라운드로 실행한다.

docker-compose up -d

-d: 백그라운드 모드로 실행


잘 실행되었는지 확인

docker ps

docker-compose.yml 내용을 수정한뒤에 다시 실행하게되면 기존의 컨테이너는 삭제되며 다시 생성된다. 이때 기존 컨테이너의 내부 데이터는 날라가니 주의해야 한다.

마치며

삽질하면서 적용해 보았는데 아직 도커 입문단계라.. 혹시 docker-compose를 좀더 간단하게 적용할 수 있는 방법이 있다면 댓글 부탁 드립니다!

Comments