From 2c7cad3f47bad4551e1034079cdab929c6991ab1 Mon Sep 17 00:00:00 2001 From: Roman Tarnavski Date: Fri, 29 Apr 2016 15:55:56 +1000 Subject: [PATCH 1/3] - changed to a smaller OS footprint (VMware's Photon OS) - simplified Dockerfile definition - explicitly exposed the port --- Dockerfile | 20 +++++++++----------- README.md | 4 ++-- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6869d5a9..52baf2bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,16 +7,14 @@ # ### -FROM ubuntu:14.04 -MAINTAINER dnephin@gmail.com - -ENV DEBIAN_FRONTEND noninteractive - -RUN apt-get update && apt-get install -y git npm nodejs openjdk-7-jre -RUN ln -s /usr/bin/nodejs /usr/local/bin/node +FROM vmware/node:4.2.4 WORKDIR /build -ADD package.json /build/package.json -RUN npm install -ADD . /build -CMD ./node_modules/gulp/bin/gulp.js serve + +COPY . /build + +RUN npm install + +EXPOSE 8080 + +CMD /build/node_modules/gulp/bin/gulp.js serve \ No newline at end of file diff --git a/README.md b/README.md index df3f0cdb..3f9f1763 100644 --- a/README.md +++ b/README.md @@ -55,10 +55,10 @@ To build swagger-ui using a docker container: ``` docker build -t swagger-ui-builder . -docker run -p 127.0.0.1:8080:8080 swagger-ui-builder +docker run -p 80:8080 swagger-ui-builder ``` -This will start Swagger UI at `http://localhost:8080`. +This will start Swagger UI at `http://localhost`. ### Use Once you open the Swagger UI, it will load the [Swagger Petstore](http://petstore.swagger.io/v2/swagger.json) service and show its APIs. You can enter your own server url and click explore to view the API. From 7a47fb80245c242cc1008fa4fe6acd605f851153 Mon Sep 17 00:00:00 2001 From: Roman Tarnavski Date: Thu, 5 May 2016 19:33:55 +1000 Subject: [PATCH 2/3] - switching to alpine:3.3 - removed node dependency - removed un-necessary source-code bulk - serving just the static content --- Dockerfile | 21 ++++++--------------- README.md | 2 +- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index 52baf2bd..b9a1ac4a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,11 @@ -### -# swagger-ui-builder - https://github.com/swagger-api/swagger-ui/ -# Container for building the swagger-ui static site -# -# Build: docker build -t swagger-ui-builder . -# Run: docker run -v $PWD/dist:/build/dist swagger-ui-builder -# -### +FROM alpine:3.3 -FROM vmware/node:4.2.4 +MAINTAINER Roman Tarnavski -WORKDIR /build +RUN apk add --update nginx -COPY . /build +ADD ./dist/ /usr/share/nginx/html -RUN npm install +EXPOSE 80 -EXPOSE 8080 - -CMD /build/node_modules/gulp/bin/gulp.js serve \ No newline at end of file +CMD nginx -g 'daemon off;' \ No newline at end of file diff --git a/README.md b/README.md index 3f9f1763..8cf00e59 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ To build swagger-ui using a docker container: ``` docker build -t swagger-ui-builder . -docker run -p 80:8080 swagger-ui-builder +docker run -p 80:80 swagger-ui-builder ``` This will start Swagger UI at `http://localhost`. From 595f604379c33488cd092234b8df6911ab7cb7ea Mon Sep 17 00:00:00 2001 From: Roman Tarnavski Date: Sat, 7 May 2016 17:46:45 +1000 Subject: [PATCH 3/3] - added `nginx.conf` to provide greater flexibility of configuration (ie. listening port) - reverted to port 8080 for the docker image --- Dockerfile | 3 ++- README.md | 2 +- nginx.conf | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 nginx.conf diff --git a/Dockerfile b/Dockerfile index b9a1ac4a..a0d7e953 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,8 +4,9 @@ MAINTAINER Roman Tarnavski RUN apk add --update nginx +COPY nginx.conf /etc/nginx/ ADD ./dist/ /usr/share/nginx/html -EXPOSE 80 +EXPOSE 8080 CMD nginx -g 'daemon off;' \ No newline at end of file diff --git a/README.md b/README.md index 8cf00e59..3f9f1763 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ To build swagger-ui using a docker container: ``` docker build -t swagger-ui-builder . -docker run -p 80:80 swagger-ui-builder +docker run -p 80:8080 swagger-ui-builder ``` This will start Swagger UI at `http://localhost`. diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 00000000..3a4b0505 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,24 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + + sendfile on; + + keepalive_timeout 65; + + server { + listen 8080; + server_name localhost; + + location / { + root html; + index index.html index.htm; + } + } +} \ No newline at end of file