dash/contrib/containers
PastaPastaPasta f6131b9db5
build: simple modification to allow docker develop builds on aarch64 (#5475)
## Issue being fixed or feature implemented
Building with develop docker container on aarch64

## What was done?
Only install i386 stuff on non-arm builders

## How Has This Been Tested?
Building on aarch64 / m1 

## Breaking Changes
Should be none

## Checklist:
_Go over all the following points, and put an `x` in all the boxes that
apply._
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [ ] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-07-04 12:36:00 -05:00
..
ci build: simple modification to allow docker develop builds on aarch64 (#5475) 2023-07-04 12:36:00 -05:00
deploy ci: harmonize parent images, use focal consistently 2023-05-11 09:18:48 -05:00
develop docker: fix gitian support, optimize container layer count and improve script consistency (#4983) 2022-08-22 22:42:36 +03:00
guix merge bitcoin#21851: support cross-compiling for arm64-apple-darwin 2023-06-29 12:31:03 -05:00
README.md docs: introduce documentation and usage for containers 2021-12-21 12:43:48 +05:30

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!

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