dash/contrib/containers
Kittywhiskers Van Gogh 440fd3fe21
ci: drop distro LLVM packages, move Clang install up, set defaults
Also simplify the download and execution of `llvm.sh`
2024-12-15 10:59:46 +00:00
..
ci ci: drop distro LLVM packages, move Clang install up, set defaults 2024-12-15 10:59:46 +00:00
deploy ci: update containers and CI to use Ubuntu 22.04 LTS (jammy) 2024-11-02 21:34:10 +00:00
develop ci: update containers and CI to use Ubuntu 22.04 LTS (jammy) 2024-11-02 21:34:10 +00:00
guix merge bitcoin#28622: use macOS 14 SDK (Xcode 15.0) 2024-11-16 02:24:19 +00:00
README.md docs: improved Docker documentation (#5543) 2023-09-19 21:26:43 +03:00

Containers

This directory contains configuration files for containerization utilities.

Currently two Docker containers exist, ci defines how Dash's GitLab CI container is built and the dev builds on top of the ci to provide a containerized development environment that is as close as possible to CI for contributors! See also Dash on Docker Hub i.e. for the dashd container.

Usage Guide

We utilise edrevo's dockerfile-plus, a syntax extension that leverages Docker BuildKit to reduce the amount of repetitive code.

As BuildKit is opt-in within many currently supported versions of Docker (as of this writing), you need to set the following environment variables before continuing. While not needed after the initial docker-compose build (barring updates to the Dockerfile), we recommend placing this in your ~/.bash_profile/~/.zshrc or equivalent

export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1

After that, it's simply a matter of building and running your own development container. You can use extensions for your IDE like Visual Studio Code's Remote Containers to run terminal commands from inside the terminal and build Dash Core.

cd contrib/containers/develop
docker-compose build
docker-compose run container