GUACAMOLE-409: add Dockerfile and .dockerignore
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..fd35d91
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,4 @@
+.git/
+book/
+html/
+docbook-xsl
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..7390cc2
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,75 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+#
+# Dockerfile for guacamole-manual
+# 
+# See the README for more information on how to use this file.
+
+# Set this build arg to any of the available version labels for the httpd image
+ARG HTTPD_VERSION=2.4
+
+# Perform the build itself on a Debian base
+FROM debian:stretch AS builder
+
+# Set the path for docbook, as required by the Makefile
+ENV DOCBOOK_PATH=/usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/
+
+# Install build dependencies
+RUN \
+  apt-get update && \
+  apt-get install -y make xsltproc fop docbook-xsl
+
+# Make the directory structure that will be produced by the build so that
+# directories will exist regardless of which target is selected. This ensures
+# that the COPY commands in the second stage of the build will succeed even
+# if the target selected does not include all build variants.
+#  
+# This RUN is a separate command from the previous RUN command, so that changes 
+# to the build structure that might result in the need to change the directories 
+# created here will not invalidate the build cache from the preceding command 
+# that installs dependences (which is a time consuming step).
+#
+RUN \
+  mkdir -p /manual/html && \
+  mkdir -p /manual/book
+
+# Set the working directory for the remainder of the build process
+WORKDIR /manual
+
+# Default build target for the make
+#
+# It might be tempting to move this command to the top of the Dockerfile,
+# but by doing so, any time a different target is selected, the build cache 
+# for the layer that installs all build dependencies will be invalidated.
+#
+ARG TARGET=html
+
+# Copy the manual source into the working directory and build it
+COPY ./ ./
+RUN make ${TARGET}
+
+# For the runtime image, use the official Apache httpd image
+FROM httpd:${HTTPD_VERSION}
+
+# Copy any HTML generated by the build into httpd's document root
+COPY --from=builder /manual/html/ /usr/local/apache2/htdocs/
+
+# Copy any PDF generated by the build into http's document root
+COPY --from=builder /manual/book/ /usr/local/apache2/htdocs/