# see also https://github.com/hashicorp/docker-consul FROM consul MAINTAINER kennylee26 # 使用阿里云镜像 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories # Install base packages RUN apk --no-cache update && \ apk --no-cache upgrade && \ apk --no-cache add curl bash tzdata tar unzip && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone && \ echo -ne "Alpine Linux 3.4 image. (`uname -rsv`)\n" >> /root/.built && \ rm -fr /tmp/* /var/cache/apk/* # Expose the consul data directory as a volume since there's mutable state in there. VOLUME /consul/data # Server RPC is used for communication between Consul clients and servers for internal # request forwarding. EXPOSE 8300 # Serf LAN and WAN (WAN is used only by Consul servers) are used for gossip between # Consul agents. LAN is within the datacenter and WAN is between just the Consul # servers in all datacenters. EXPOSE 8301 8301/udp 8302 8302/udp # CLI, HTTP, and DNS (both TCP and UDP) are the primary interfaces that applications # use to interact with Consul. EXPOSE 8400 8500 8600 8600/udp # Consul doesn't need root privileges so we run it as the consul user from the # entry point script. The entry point script also uses dumb-init as the top-level # process to reap any zombie processes created by Consul sub-processes. ENTRYPOINT ["docker-entrypoint.sh"] # By default you'll get an insecure single-node development server that stores # everything in RAM, exposes a web UI and HTTP endpoints, and bootstraps itself. # Don't use this configuration for production. CMD ["agent", "-dev", "-client", "0.0.0.0"]