|
1 |
| -# EarthBuild dind (Docker In Docker) Images |
2 |
| -[](https://github.com/earthbuild/dind/actions/workflows/release.yml) |
3 |
| - |
| 1 | +[](https://github.com/earthbuild/dind/actions/workflows/release.yml)  |
4 | 2 |
|
| 3 | +The `dind` (docker-in-docker) image is designed for EarthBuild targets that use the `WITH DOCKER` command. |
5 | 4 |
|
6 |
| -EarthBuilds's official [ghcr.io/earthbuild/dind](https://ghcr.io/earthbuild/dind) and [earthbuild/dind](https://hub.docker.com/r/earthlbuild/dind) container images. |
7 | 5 | For information on how to use these images, please refer to [docker in EarthBuild](https://docs.earthly.dev/docs/guides/docker-in-earthly).
|
8 | 6 |
|
9 | 7 | ## Supported Distributions
|
10 | 8 |
|
11 |
| -There are currently 4 supported dind distributions available: |
12 |
| -- `alpine` |
13 |
| -- `ubuntu:20.04` |
14 |
| -- `ubuntu:23.04` |
15 |
| -- `ubuntu:24.04` |
| 9 | +This image supports the following Linux distributions: |
| 10 | +* alpine |
| 11 | +* ubuntu:20.04 |
| 12 | +* ubuntu:23.04 |
| 13 | +* ubuntu:24.04 |
16 | 14 |
|
17 |
| -Other distributions and/or base images can be used with our [dind+INSTALL](https://docs.earthly.dev/docs/guides/docker-in-earthly#performance) [FUNCTION](https://docs.earthly.dev/docs/guides/functions). |
| 15 | +For which the current latest tags (respectively) are: |
| 16 | +* `alpine-3.22-docker-28.3.0-r0` |
| 17 | +* `ubuntu-20.04-docker-28.1.1-1` |
| 18 | +* `ubuntu-23.04-docker-25.0.2-1` |
| 19 | +* `ubuntu-24.04-docker-28.3.2-1` |
18 | 20 |
|
19 |
| -## How Images are Built |
| 21 | +For other available tags, please check out [ghcr.io/earthbuild/dind](https://github.com/EarthBuild/dind/pkgs/container/dind/versions?filters%5Bversion_type%5D=tagged) or [earthbuild/dind](https://hub.docker.com/r/earthbuild/dind/tags). |
20 | 22 |
|
21 |
| -In this repository, we maintain the OS & Docker versions that warrants releasing a new version of the image. |
22 |
| -However, the installations of docker and other dependencies are done via an installation script that is currently maintained in [earthbuild/earthbuild](https://github.com/earthbuild/earthbuild). |
23 |
| - |
24 |
| -### Dependencies |
25 |
| - |
26 |
| -Dependencies are maintained by Renovate and will be merged automatically (provided required checks pass), primarly |
27 |
| -dependencies that will trigger new versions of the dind images such as the docker or the os (alpine) versions. |
28 |
| - |
29 |
| -## Repo structure |
30 |
| - |
31 |
| -```bash |
32 |
| -. |
33 |
| -├── Earthfile // Targets that apply to all images (e.g. +test) |
34 |
| -├── common |
35 |
| -│ └── Earthfile // A library of common helper targets |
36 |
| -└── os // Each directory contains an Earthfile with targets to maintain the specific os (e.g. +test, +build) |
37 |
| - ├── alpine |
38 |
| - │ └── Earthfile |
39 |
| - ├── ubuntu-20.04 |
40 |
| - │ └── Earthfile |
41 |
| - └── ubuntu-23.04 |
42 |
| - └── Earthfile |
43 |
| - └── ubuntu-24.04 |
44 |
| - └── Earthfile |
45 |
| -``` |
46 |
| - |
47 |
| -## Testing |
48 |
| - |
49 |
| -Images are tested by running remote test targets that are maintained in [earthbuild/earthbuild](https://github.com/earthbuild/earthbuild/tree/main/tests/with-docker). This is because these tests also help test [WITH DOCKER](https://docs.earthly.dev/docs/earthfile#with-docker) command in earthly cli. |
50 |
| - |
51 |
| -Temporary images are built, pushed, and pulled as part of the test cycle. |
52 |
| - |
53 |
| -### How to run tests |
54 |
| - |
55 |
| -* Test a specific image os: |
56 |
| - |
57 |
| -```bash |
58 |
| -earthly --push -P ./os/<os>+test-build |
59 |
| -``` |
60 |
| - |
61 |
| -* Test all images: |
62 |
| -```bash |
63 |
| -earthly --push -P +test |
64 |
| -``` |
65 |
| - |
66 |
| -#### Community members |
67 |
| - |
68 |
| -Community members do not have permissions to push a built image and run the tests against it. However, they can easily set a different container registry repository by changing the `CR_HOST` (default: ghcr.io) and `CR_ORG` ARG values in [.arg](.arg) to a private container registry repository or by passing the args in the earthly command, e.g. `earthly --push -P +test --CR_HOST=<your-container-registry> --CR_ORG=<your-organization>`. |
69 |
| - |
70 |
| -## Deployment |
71 |
| - |
72 |
| -When the relevant dependencies are updated by Renovate, new images/tags will be pushed automatically to the container registries - [ghcr.io/earthbuild/dind](https://ghcr.io/earthbuild/dind) and [earthbuild/dind](https://hub.docker.com/r/earthlbuild/dind). |
73 |
| - |
74 |
| -## Contributing |
75 |
| - |
76 |
| -* Please report bugs as [GitHub issues](https://github.com/earthbuild/dind/issues). |
77 |
| -* Join us on [Slack](https://earthly.dev/slack)! |
78 |
| -* Questions via GitHub issues are welcome! |
79 |
| -* PRs welcome! But please give a heads-up in a GitHub issue before starting work. If there is no GitHub issue for what you want to do, please create one. |
80 |
| -* Check the [contributing page](./CONTRIBUTING.md) for more details. |
81 |
| - |
82 |
| -## Licensing |
83 |
| - |
84 |
| -Earthly is licensed under the Mozilla Public License Version 2.0. See [LICENSE](./LICENSE). |
0 commit comments