This repo contains the Earthfile of some useful images under the Docker Hub
mritduser.
In the past few years, I have to admit that Dockerfile is great; but as the number of Dockerfile increases, I have to do a lot of repetitive work to solve some problems.
For example, "unify the basic image version"γ"fix compatibility issues for specific languages"γ"cross compile for each platform", etc...
Well, I can write some "magic scripts" to be lazy; but this will cause the production-level Docker image to become unmaintainable, just like a messy network cable...
Now, Earthly has solved this problem; I unified the specific language versionγthe operating system at compile timeγthe basic runtime environmentγand some general fixes. Also use GitHub Action for reliable cross-compilation to generate multi-arch images. It all got better π€ͺ.
.
βββ caddy # The directory name is the target image
βΒ Β βββ Earthfile
βββ openjdk
βΒ Β βββ cgradle # If the build image needs some other files, they will also be saved in this directory
βΒ Β βββ cmvn
βΒ Β βββ Earthfile # Earthfile is a file similar to Dockerfile, it is modular, it is very convenient to reuse code
β
β
βββ udcs # udcs (user-defined commands) is a special directory where most common Earthfiles are stored
β βββ Earthfile # udcs/Earthfile stores general commands that do not depend on system os and language
β βββ image # udcs/image stores the basic runtime or compile image of most programming languages
β βββ language # udcs/language stores special commands for specific languages
β βββ os # udcs/os stores special commands for specific system os
β
β
βββ .github
βΒ Β βββ workflows # The workflows directory stores job definitions for each docker image automated build
βΒ Β βββ alpine.yaml
βΒ Β βββ caddy.yaml
βΒ Β βββ confluence.yaml
βΒ Β βββ ddns.yaml
βΒ Β βββ demo.yaml
βΒ Β βββ idgen.yaml
βΒ Β βββ jira.yaml
βΒ Β βββ nginx-singlepage.yaml
βΒ Β βββ nodebuild.yaml
βΒ Β βββ openjdk.yaml
βΒ Β βββ poetbot.yaml
βΒ Β βββ s2h.yaml
βΒ Β βββ ssh.yaml
βββ LICENSE