Docker¶
Requirements¶
Docker 17.05 or higher
Dockerfile¶
This Dockerfile
will build and install HELICS in Ubuntu 18.04 with
Python support.
FROM ubuntu:18.04 as builder
RUN apt update && apt install -y \
libboost-dev \
libboost-filesystem-dev \
libboost-program-options-dev \
libboost-test-dev \
libzmq5-dev python3-dev \
build-essential swig cmake git
WORKDIR /root/develop
RUN git clone https://github.com/GMLC-TDC/HELICS.git helics
WORKDIR /root/develop/helics/build
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/helics \
..
RUN make -j8 && make install
FROM ubuntu:18.04
RUN apt update && apt install -y --no-install-recommends \
libboost-filesystem1.65.1 libboost-program-options1.65.1 \
libboost-test1.65.1 libzmq5
COPY --from=builder /helics /usr/local/
ENV PYTHONPATH /usr/local/python
# Python must be installed after the PYTHONPATH is set above for it to
# recognize and import libhelicsSharedLib.so.
RUN apt install -y --no-install-recommends python3-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pip install helics
CMD ["python3", "-c", "import helics; print(helics.helicsGetVersion())"]
Build¶
To build the Docker image, run the following from the directory
containing the Dockerfile
:
$ docker build -t helics .
Run¶
To run the Docker image as a container, run the following:
$ docker run -it --rm helics
Doing so should print the version and exit.