Public Repository

Last pushed: 2 years ago
Short Description
This is progrium/consul (0.4) rebuilt using consul (6.4) from alpine (3.3).
Full Description

This is progrium/consul (0.4) rebuilt using consul (6.4) from alpine (3.3) with no other substantive changes. It was used to stand-up a single consul server to support a swarm cluster in full TLS. Here is a sample docker run without TLS:

docker run -d \
-v /root/consul.d:/config \
-v /root/consul-data:/data \
-p 8500:8500 \
-p 8080:8080 \
-h greenfinch-consul \
--name greenfinch-consul \
greenfinch628/consul:v6.4

Note: One difference with the progrium version is that it should not be run with any command line switches such as -bootstrap -server. All configuration should be accomplished through a config.json file placed in for example, /root/consul.d, or any other location as long as it is mapped correctly. Here is a sample non-tls config.json file:

{
"bootstrap": true,
"datacenter": "dc1",
"data_dir": "/data",
"log_level": "INFO",
"node_name": "consul-node01",
"client_addr": "0.0.0.0",
"server": true,
"ui": true,
"disable_update_check": true
}
This contribution was not tested with multiple nodes but should work following documentation provided in the progrium/consul Docker Hub repo. It was used with TLS. Here is the run and json files that corresponds to that:

docker run -d \
-v /root/.certs:/certs:ro \
-v /root/consul.d.greenfinch:/config \
-v /root/consul-data:/data \
-p 8500:8500 \
-p 8080:8080 \
-h greenfinch-consul \
--name greenfinch-consul \
greenfinch628/consul:v6.4

{
"bootstrap": true,
"datacenter": "dc1",
"data_dir": "/data",
"log_level": "INFO",
"node_name": "consul-node01",
"client_addr": "0.0.0.0",
"server": true,
"ui": true,
"verify_incoming": true,
"verify_outgoing": true,
"addresses": {
"https": "0.0.0.0"
},
"ports": {
"https": 8080
},
"key_file": "/certs/key.pem",
"cert_file": "/certs/cert.pem",
"ca_file": "/certs/ca.pem",
"disable_update_check": true
}

It assumes that valid certs reside in /root/.certs of the host, but can be any other place on the host.

Docker Pull Command
Owner
greenfinch628