Sign inSign up

zerolabssyseng/consul

By zerolabssyseng

•Updated almost 7 years ago

Consul Container

Image
0

333

zerolabssyseng/consul repository overview

⁠Consul Container

⁠Configure Makefile.am
IMAGE = zerolabssyseng/consul

clean-local:
	docker rmi $(CLEAN_OPTIONS) $(IMAGE):$(TAG) || true

build:
	docker build $(BUILD_OPTIONS) --build-arg TAG=${TAG} -t $(IMAGE):$(TAG) .

pull:
	docker pull $(PULL_OPTIONS) $(IMAGE):$(TAG)

push: build
	docker push $(PUSH_OPTIONS) $(IMAGE):$(TAG)
⁠Running with make
make [options]:
    clean-local
    build
    pull
    push
⁠Dockerfile
ARG TAG

FROM zerolabssyseng/base-consul:${TAG:-latest}
MAINTAINER "System Engineer (SysEng)"

ENV CONSUL_VERSION=1.6.1

RUN apk add --update zip && \
    curl -sSL https://releases.hashicorp.com/consul/${CONSUL_VERSION}/consul_${CONSUL_VERSION}_linux_amd64.zip \
        -o /tmp/consul.zip && \
    unzip /tmp/consul.zip -d /bin && \
    rm /tmp/consul.zip && \
    apk del zip && \
    rm -rf /var/cache/apk/*

COPY rootfs/ /

ENTRYPOINT [ "/init" ]
CMD []

EXPOSE 8300 8301 8301/udp 8302 8302/udp 8500 8501 8600 8600/udp
VOLUME [ "/var/lib/consul" ]

HEALTHCHECK CMD /usr/sbin/container-check || exit 1
⁠Docker Compose (Skeleton)
version: '3.5'

volumes:
    consul:

services:
    consul:
        image: zerolabssyseng/consul:latest
        container_name: zerolabssyseng_consul
        hostname: consul
        ports:
            - "127.0.0.1:8500:8500"         # HTTP port for localhost access from localhost
            #- "127.0.0.1:8501:8501"        # HTTPS port for localhost access from localhost
            - "169.254.0.1:8500:8500"       # HTTP port for access from localhost and docker networks
            #- "169.254.0.1:8501:8501"      # HTTPS port for access from localhost and docker networks
            #- "169.254.0.1:8600:8600"      # DNS TCP port for DNS cache forwarder
            #- "169.254.0.1:8600:8600/udp"  # DNS UDP port for DNS cache forwarder
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - ./data/consul:/var/lib/consul             # volume for data
        environment:
            - ENV=local                                 # environment name
            #- VAULT_ADDR=                              # vault address
            #- VAULT_TOKEN=                             # vault token
            #- VAULT_SECRET=                            # vault secret path
            - CONSUL_TEMPLATE=generic                   # configuration template

            #
            # template generic
            #

            - CONSUL_OPTIONS=-server -bootstrap-expect 1 -client 0.0.0.0 -ui    # minimal server for development
            #- CONSUL_NODENAME=                         # node name
            - CONSUL_DATACENTER=local                   # datacenter
            #- CONSUL_DOMAIN=consul                     # domain name
            - CONSUL_ENCRYPT=h2N6R1eyTysjBzzXxAWJvA==   # encryption key
            #- CONSUL_RAFTMULTIPLIER=5                  # raft mutliplier
            #- CONSUL_TLS=0                             # enable TLS
            #- CONSUL_TLSCAPATH=                        # TLS CA directory
            #- CONSUL_TLSCAFILE=                        # TLS CA certificate file
            #- CONSUL_TLSCERTFILE=                      # TLS server certificate file
            #- CONSUL_TLSKEYFILE=                       # TLS server certificate key file
            #- CONSUL_ACLDATACENTER=                    # ACL authoritative datacenter
            #- CONSUL_ACLMASTERTOKEN=                   # ACL master token
            #- CONSUL_ACLTOKEN=                         # ACL token
            #- CONSUL_ACLREPLICATIONTOKEN=              # ACL token for replication outside of datacenter
            #- CONSUL_ACLDEFAULTPOLICY=extend-cache     # ACL default policy
            #- CONSUL_ACLDOWNPOLICY=extend-cache        # ACL down policy
            #- CONSUL_ACLTTL=30                         # ACL TTL
            #- CONSUL_ACLENFORCEVERSION8=true           # enforce ACL version 8

Tag summary

Content type

Image

Digest

Size

55.7 MB

Last updated

almost 7 years ago

docker pull zerolabssyseng/consul