01. consul 이란?
consul 의 경우 해시코프(HashiCorp)에서 개발을 했으며, 동적이고 분산된 인프라에서 애플리케이션을 연결하고 구성하기 위해 설계된 고가용성과 분산 환경을 지원하는 솔루션이며, 주요 기능으로 모든 인프라에서 서비스를 발견(Discovery) 하고 구성하는 것입니다.
02. docker 명령어로 consul 을 실행 합니다.
docker run -d --name consul -p 8500:8500 consul
만약 기존 컨테이너에 consul 이름으로 생성해 놓은 것이 있다면, 아래와 같이 Error 메세지를 볼 수 있습니다. 이럴 때는 기존에 존재하는 consul 이름을 우선 찾아서 삭제를 해줍니다.
docker: Error response from daemon: Conflict. The container name "/consul" is already in use by container "89c7a82ebdbef77bdc87c71ad7fcb20d22f8895deab16a068458b594b289e2c7". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
현재 생성된 컨테이너들을 조회를 합니다.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89c7a82ebdbe consul "docker-entrypoint.s…" 2 days ago Exited (255) 37 hours ago 8300-8302/tcp, 8301-8302/udp, 8600/tcp, 8600/udp, 0.0.0.0:8500->8500/tcp consul
d2043aa1f98b minio/minio:RELEASE.2020-08-04T23-10-51Z "/usr/bin/docker-ent…" 2 months ago Exited (255) 2 months ago 0.0.0.0:9001->9000/tcp minio_minio1_1
dec7c1a9b6f4 minio/minio:RELEASE.2020-08-04T23-10-51Z "/usr/bin/docker-ent…" 2 months ago Exited (255) 2 months ago 0.0.0.0:9003->9000/tcp minio_minio3_1
0af93a347ae2 minio/minio:RELEASE.2020-08-04T23-10-51Z "/usr/bin/docker-ent…" 2 months ago Exited (255) 2 months ago 0.0.0.0:9002->9000/tcp minio_minio2_1
7cde5d3d531d minio/minio:RELEASE.2020-08-04T23-10-51Z "/usr/bin/docker-ent…" 2 months ago Exited (255) 2 months ago 0.0.0.0:9004->9000/tcp minio_minio4_1
9a8c5814f653 mysql "docker-entrypoint.s…" 10 months ago Exited (0) 10 months ago mysql-db
필자의 경우에는 기존에 consul 이란 이름의 기존에 생성되어 있고 (맨 우측에 NAME 을 볼 수 있습니다.) ,
해당 컨테이너 ID 을 삭제 하도록 하겠습니다.
docker rm [삭제할 컨테이너 ID]
docker rm 89c7a82ebdbe
삭제를 한 후 맨 처음 01. docker 명령어로 consul 을 실행 합니다.
03. consul 관리 페이지
기본 consul의 포트 번호는 8500 입니다.
브라우저 창에 localhost:8500 을 입력을 하면, 아래와 같이 consul 관리 페이지를 볼 수 있습니다.
04. consul 사용 예
주요 기능 중 하나인 모든 인프라에서 서비스를 발견(Discovery) 하고 구성하는 예로 주문 서비스와 사용자 서비스 그리고 게이트웨이 서비스들을 consul 에 등록시켜주면, consul 에서는 등록된 서비스들을 발견하고, 구성을 해줍니다.
'IT > Infra' 카테고리의 다른 글
[Centos7] Rabbitmq 설치 (Feat. yum Repo 설치) (0) | 2020.11.29 |
---|---|
[Vagrant] Multi VM , Memory, Cpus 설정 (0) | 2020.11.29 |
[Mac] Rabbit MQ 설치 (0) | 2020.10.11 |
[Docker] MinIO 객체 스토리지 (0) | 2020.08.05 |
[Mac] MinIO 객체 스토리지 (0) | 2020.08.01 |