Skip to content

Commit c63f5d8

Browse files
committed
doc: update container documentation
1 parent 55a0d0d commit c63f5d8

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

contrib/containers/README.md

+16-10
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
11
## Containers
22

3-
This directory contains configuration files for containerization utilities.
3+
This directory contains configuration files for containers. Containers that depends on other containers require BuildKit to
4+
be enabled in order for syntax extensions to work correctly.
45

5-
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](https://hub.docker.com/u/dashpay) i.e. for the [dashd container](https://hub.docker.com/r/dashpay/dashd).
6+
| Name | Depends On | Purpose |
7+
| --------- | -----------| -------------------------------------------------------------------------- |
8+
| `ci-slim` | None | Slimmed down container used to run functional tests and (some) linters |
9+
| `ci` | `ci-slim` | Full container used to (cross) compile |
10+
| `develop` | `ci` | Interactive environment to allow debugging in an environment that's 1:1 CI |
11+
| `deploy` | None | Packaging of builds for release on Docker Hub |
12+
| `guix` | None | Interactive environment for building (and packaging) with Guix |
613

714
### Usage Guide
815

9-
We utilise edrevo's [dockerfile-plus](https://github.com/edrevo/dockerfile-plus), a syntax extension that
10-
leverages Docker [BuildKit](https://docs.docker.com/develop/develop-images/build_enhancements/) to reduce
16+
We utilise edrevo's [devthefuture/dockerfile-x](https://codeberg.org/devthefuture/dockerfile-x), a syntax extension that
17+
leverages Docker [BuildKit](https://docs.docker.com/build/buildkit/) to reduce
1118
the amount of repetitive code.
1219

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

1724
```bash
1825
export DOCKER_BUILDKIT=1
1926
export COMPOSE_DOCKER_CLI_BUILD=1
2027
```
2128

22-
After that, it's simply a matter of building and running your own development container. You can use extensions
23-
for your IDE like Visual Studio Code's [Remote Containers](https://code.visualstudio.com/docs/remote/containers)
24-
to run terminal commands from inside the terminal and build Dash Core.
29+
You can use extensions for your IDE like Visual Studio Code's [Remote Containers](https://code.visualstudio.com/docs/remote/containers)
30+
to run terminal commands from inside the terminal and work with Dash Core.
2531

2632
```bash
2733
cd contrib/containers/develop

0 commit comments

Comments
 (0)