Skip to content

earthly/dind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Earthly dind (Docker In Docker) Images

Release Docker Pulls

Earthly's official earthly/dind docker images. For information on how to use these images, please refer to docker in earthly.

Supported Distributions

There are currently 3 supported dind distributions available:

  • alpine
  • ubuntu:20.04
  • ubuntu:23.04
  • ubuntu:24.04

Other distributions and/or base images can be used with our dind+INSTALL FUNCTION.

How Images are Built

In this repository, we maintain the OS & Docker versions that warrants releasing a new version of the image. However, the installations of docker and other dependencies are done via an installation script that is currently maintained in earthly/earthly.

Dependencies

Dependencies are maintained by Renovate and will be merged automatically (provided required checks pass), primarly dependencies that will trigger new versions of the dind images such as the docker or the os (alpine) versions.

Repo structure

.
├── Earthfile // Targets that apply to all images (e.g. +test) 
├── common
│   └── Earthfile // A library of common helper targets
└── os // Each directory contains an Earthfile with targets to maintain the specific os (e.g. +test, +build)
    ├── alpine
    │   └── Earthfile
    ├── ubuntu-20.04
    │   └── Earthfile
    └── ubuntu-23.04
        └── Earthfile
    └── ubuntu-24.04
        └── Earthfile

Testing

Images are tested by running remote test targets that are maintained in earthly/earthly. This is because these tests also help test WITH DOCKER command in earthly cli.

Temporary images are built, pushed, and pulled as part of the test cycle.

How to run tests

  • Test a specific image os:
earthly --push -P ./os/<os>+test-build
  • Test all images:
earthly --push -P +test

Community members

Community members do not have permissions to push a built image and run the tests against it. However, they can easily set a different dockerhub repository by changing the DOCKERHUB_USER ARG value in .arg to a private repository or by passing the arg in the earthly command, e.g. earthly --push -P +test --DOCKERHUB_USER=<your-user>.

Deployment

When the relevant dependencies are updates by Renovate, new images/tags will be pushed automatically to the docker registry.

Contributing

  • Please report bugs as GitHub issues.
  • Join us on Slack!
  • Questions via GitHub issues are welcome!
  • 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.
  • Check the contributing page for more details.

Licensing

Earthly is licensed under the Mozilla Public License Version 2.0. See LICENSE.

About

Manage earthly/dind docker images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published