.. Copyright (C) 2018 Mikael Simberg SPDX-License-Identifier: BSL-1.0 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) .. _using_docker: ============================ Using docker for development ============================ Although it can often be useful to set up a local development environment with system-provided or self-built dependencies, |docker|_ provides a convenient alternative to quickly get all the dependencies needed to start development of |hpx|. Our testing setup on |circleci|_ uses a docker image to run all tests. To get started you need to install |docker|_ using whatever means is most convenient on your system. Once you have |docker|_ installed, you can pull or directly run the docker image. The image is based on Debian and Clang, and can be found on |docker_build_env|_. To start a container using the |hpx| build environment, run: .. code-block:: shell-session $ docker run --interactive --tty stellargroup/build_env:latest bash You are now in an environment where all the |hpx| build and runtime dependencies are present. You can install additional packages according to your own needs. Please see the |docker_docs|_ for more information on using |docker|_. .. warning:: All changes made within the container are lost when the container is closed. If you want files to persist (e.g., the |hpx| source tree) after closing the container, you can bind directories from the host system into the container (see |docker_docs_bind_mounts|_).