From 8bddb4f85468b730426290f9225bde9ebfd0ace3 Mon Sep 17 00:00:00 2001 From: "kirby@puppetlabs.com" Date: Fri, 21 Sep 2018 13:39:04 -0700 Subject: [PATCH] Add docker-compose and dockerfile to support it This commit adds a docker-compose file and a dockerfile to build vmpooler and install it from source. --- docker/Dockerfile_local | 21 +++++++++++++++++++++ docker/docker-compose.yml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 docker/Dockerfile_local create mode 100644 docker/docker-compose.yml diff --git a/docker/Dockerfile_local b/docker/Dockerfile_local new file mode 100644 index 0000000..97cdc33 --- /dev/null +++ b/docker/Dockerfile_local @@ -0,0 +1,21 @@ +# Run vmpooler in a Docker container! Configuration can either be embedded +# and built within the current working directory, or stored in a +# VMPOOLER_CONFIG environment value and passed to the Docker daemon. +# +# BUILD: +# docker build -t vmpooler . +# +# RUN: +# docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler + +FROM jruby:9.1-jdk + +COPY docker/docker-entrypoint.sh /usr/local/bin/ +COPY ./ ./ + +ENV RACK_ENV=production + +RUN bundle && gem build vmpooler.gemspec && gem install vmpooler*.gem && \ + chmod +x /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..1146a70 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,31 @@ +# For local development run with a dummy provider +version: '3.2' +services: + vmpooler: + build: + context: ../ + dockerfile: docker/Dockerfile_local + volumes: + - type: bind + source: ${PWD}/vmpooler.yaml + target: /etc/vmpooler/vmpooler.yaml + ports: + - "4567:4567" + networks: + - redis-net + environment: + - VMPOOLER_DEBUG=true # for use of dummy auth + - VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml + - REDIS_SERVER=redis + image: vmpooler-local + depends_on: + - redis + redis: + image: redis + ports: + - "6379:6379" + networks: + - redis-net + +networks: + redis-net: