diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index 72e8ffc0d..000000000
--- a/.dockerignore
+++ /dev/null
@@ -1 +0,0 @@
-*
diff --git a/Dockerfile b/Dockerfile
index 37f212b73..5f0097be0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,31 +1,40 @@
+# Multistage docker build, requires docker 17.05
+
+# builder stage
+FROM ubuntu:16.04 as builder
+
+RUN apt-get update && \
+    apt-get --no-install-recommends --yes install \
+        ca-certificates \
+        cmake \
+        g++ \
+        libboost1.58-all-dev \
+        libssl-dev \
+        libzmq-dev \
+        make \
+        pkg-config \
+        graphviz \
+        doxygen \
+        git
+
+WORKDIR /src
+COPY . .
+RUN rm -rf build && \
+    qmake -j$(nproc) release-static
+
+# runtime stage
 FROM ubuntu:16.04
 
-ENV SRC_DIR /usr/local/src/monero
+RUN apt-get update && \
+    apt-get --no-install-recommends --yes install \
+        ca-certificates \
+        libboost1.58-all \
+        libssl1.0.0 \
+        libzmq1 && \
+    apt-get clean && \
+    rm -rf /var/lib/apt
 
-RUN set -x \
-  && buildDeps=' \
-      ca-certificates \
-      cmake \
-      g++ \
-      git \
-      libboost1.58-all-dev \
-      libssl-dev \
-      libzmq3-dev \
-      libsodium-dev \
-      make \
-      pkg-config \
-  ' \
-  && apt-get -qq update \
-  && apt-get -qq --no-install-recommends install $buildDeps
-
-RUN git clone https://github.com/monero-project/monero.git $SRC_DIR
-WORKDIR $SRC_DIR
-RUN make -j$(nproc) release-static
-
-RUN cp build/release/bin/* /usr/local/bin/ \
-  \
-  && rm -r $SRC_DIR \
-  && apt-get -qq --auto-remove purge $buildDeps
+COPY --from=builder /src/build/release/bin/* /usr/local/bin/
 
 # Contains the blockchain
 VOLUME /root/.bitmonero
@@ -35,13 +44,7 @@ VOLUME /root/.bitmonero
 # monero-wallet-cli
 VOLUME /wallet
 
-ENV LOG_LEVEL 0
-ENV P2P_BIND_IP 0.0.0.0
-ENV P2P_BIND_PORT 18080
-ENV RPC_BIND_IP 127.0.0.1
-ENV RPC_BIND_PORT 18081
-
 EXPOSE 18080
 EXPOSE 18081
 
-CMD monerod --log-level=$LOG_LEVEL --p2p-bind-ip=$P2P_BIND_IP --p2p-bind-port=$P2P_BIND_PORT --rpc-bind-ip=$RPC_BIND_IP --rpc-bind-port=$RPC_BIND_PORT
+ENTRYPOINT ["monerod", "--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=18080", "--rpc-bind-ip=127.0.0.1", "--rpc-bind-port=18081"] 
diff --git a/README.md b/README.md
index 2dec65465..b200d0e32 100644
--- a/README.md
+++ b/README.md
@@ -144,6 +144,9 @@ Installing a snap is very quick. Snaps are secure. They are isolated with all of
         # or in background
         docker run -it -d -v /monero/chain:/root/.bitmonero -v /monero/wallet:/wallet -p 18080:18080 monero
 
+
+**Warning** make sure to use `tty: true` with `docker-compose`, if `monerod` don't have a tty it will exit once it's initialized.
+
 Packaging for your favorite distribution would be a welcome contribution!
 
 ## Compiling Monero from Source