1..
2   Copyright (C) 2018 Mikael Simberg
3
4   Distributed under the Boost Software License, Version 1.0. (See accompanying
5   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7============================
8Using docker for development
9============================
10
11Although it can often be useful to set up a local development environment with
12system-provided or self-built dependencies, |docker|_ provides a convenient
13alternative to quickly get all the dependencies needed to start development of
14|hpx|. Our testing setup on |circleci|_ uses a docker image to run all tests.
15
16To get started you need to install |docker|_ using whatever means is most
17convenient on your system. Once you have |docker|_ installed you can pull or
18directly run the docker image. The image is based on Debian and Clang, and can
19be found on |docker_build_env|_. To start a container using the |hpx| build
20environment run:
21
22.. code-block:: bash
23
24   docker run --interactive --tty stellargroup/build_env:ubuntu bash
25
26You are now in an environment where all the |hpx| build and runtime dependencies
27are present. You can install additional packages according to your own needs.
28Please see the |docker_docs|_ for more information on using |docker|_.
29
30.. warning::
31
32   All changes made within the container are lost when the container is closed.
33   If you want files to persist (e.g. the |hpx| source tree) after closing the
34   container you can bind directories from the host system into the container
35   (see |docker_docs_bind_mounts|_).
36
37