Skip to main content
  1. Posts/

Install Consul dengan Docker

·2 mins·
consul docker consul
Table of Contents

Consul merupakan alat jaringan yang memiliki fitur lengkap seperti

  • Service Discovery
  • Health Checking
  • KV Store
  • Secure Service Communication
  • Multi-Datacenter Capabilities

Get the Docker image
#

docker pull consul

Configure and run a Consul server
#

docker run \
 -dit \
 -p 8500:8500 \
 -p 8600:8600/udp \
 --name=control-1 \
 consul agent -server -ui -node=control-1 -bootstrap-expect=1 -client=0.0.0.0

Parameter bootstrap-expect dapat digunakan untuk menentukan jumlah node yang diharapkan untuk bergabung dalam cluster saat melakukan proses bootstrap awal.

Misalnya jika Anda ingin memulai consul dengan 5 node sebagai server maka bootstrap-expect=5 lalu disarankan untuk menambahkan parameter retry-join dengan network alias agar dapat saling terhubung.

docker run \
 -dit \
 --network dc1 --network-alias control_cluster \
 -e CONSUL_BIND_INTERFACE=eth0 \
 -p 8500:8500 \
 -p 8600:8600/udp \
 --name=control-1 \
 consul agent -server -ui -node=control-1 -bootstrap-expect=5 -client=0.0.0.0 -retry-join=control_cluster

Akses WebUI Consul melalui http://ip-consul-server:8500

Configure and run a Consul client
#

docker run \
 -dit \
 --name=nova-1 \
 consul agent -node=nova-1 -retry-join=<ip-consul-server>

Untuk cek node client apakah berhasil join ke consul server.

docker exec control-1 consul members
Node       Address         Status  Type    Build   Protocol  DC   Partition  Segment
control-1  10.0.1.11:8301  alive   server  1.15.2  2         dc1  default    <all>
nova-1     10.0.1.13:8301  alive   client  1.15.2  2         dc1  default    <default>

Environment variables
#

Anda juga dapat konfigurasi consul menggunakan parameter -e pada CONSUL_LOCAL_CONFIG, CONSUL_CLIENT_INTERFACE dan CONSUL_BIND_INTERFACE.

docker run \
  -dit \
  -e CONSUL_LOCAL_CONFIG='{
  "datacenter":"us_west",
  "server":true,
  "enable_debug":true
  }' \
  consul agent -server -bootstrap-expect=3

Related

Register Service ke Consul
·2 mins
consul consul
Configure Network Aliases Docker
·2 mins
docker docker
Using IPvlan network in Docker
·5 mins
docker docker
Using Host Network in Docker
·1 min
docker docker
Using Overlay Network in Docker
·2 mins
docker docker
Building Docker Images with Dockerfiles
·1 min
docker docker