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

Modifying Headers Consul
1 min
consul consul
Monitor Consul menggunakan Prometheus dan Grafana
2 mins
consul prometheus grafana consul
Setup Multi Datacenter menggunakan Consul
2 mins
consul consul
Membangun Koneksi Peering Antar Cluster Consul
2 mins
consul consul
Register Service ke Consul
2 mins
consul consul
Setup Apache dan PHP-FPM di Docker
7 mins
apache docker apache php