diff --git a/Dockerfile b/Dockerfile index 5f2c43011..36c5621af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,10 @@ FROM ubuntu:18.04 + + RUN apt-get update \ - && apt-get install -qqy build-essential nasm autotools-dev autoconf libjemalloc-dev \ + && DEBIAN_FRONTEND=noninteractive apt-get install -qqy \ + build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev \ && apt-get clean CMD make \ No newline at end of file diff --git a/README.md b/README.md index bcfbb423b..5afe9a394 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,26 @@ Future work: - Allow rebalancing of connections to different threads after the connection - Allow multiple readers access to the hashtable concurrently +Docker Build +------------ + +Run the following commands for a full source download and build: + +``` +git clone git@github.com:JohnSully/KeyDB.git +docker run -it --rm `pwd`/KeyDB:/build -w /build devopsdood/keydb-builder make +``` + +Then you have fresh binaries built, you can also pass any other options to the make command above after the word make. E.g. + +```docker run -it --rm `pwd`/KeyDB:/build -w /build devopsdood/keydb-builder make MAllOC=memkind``` + +The above commands will build you binaries in the src directory. Standard `make install` without Docker command will work after if you wish to install + +If you'd prefer you can build the Dockerfile in the repo instead of pulling the above container for use: + +`docker build -t KeyDB .` + Code contributions -----------------