Automated Dockerfile version updater that keeps your container images and dependencies fresh, tested, and production-ready.
brew install kyleking/tap/donergo install github.com/kyleking/doner/cmd/doner@latestDownload from GitHub Releases.
# Check for updates (dry-run, looks for ./Dockerfile by default)
doner check
# Check specific Dockerfile
doner check -f docker/api/Dockerfile
# Test with example fixtures
doner check -f test/fixtures/simple-python.Dockerfile
# Update Dockerfile with latest versions and validate
doner update -f Dockerfile
# Update without Docker build validation
doner update -f Dockerfile --skip-build
# Update with build but skip healthcheck
doner update -f Dockerfile --skip-healthcheckname: Check Dockerfile Updates
on:
schedule:
- cron: '0 10 * * 1'
workflow_dispatch:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: kyleking/doner@v1
with:
command: check
file: docker/api/DockerfileAdd directives above Dockerfile instructions to control version updates:
# Example from https://docs.astral.sh/uv/guides/integration/aws-lambda/
# doner: uv:0.9.#
FROM ghcr.io/astral-sh/uv:0.9.26 AS uv
# doner: python:3.13.#
FROM public.ecr.aws/lambda/python:3.13 AS builder
# Example from https://github.com/elves/elvish
# doner: golang:1.#.#-alpine*
FROM golang:1.22-alpine3.19 as builder
# doner: alpine:3.#
FROM alpine:3.193.13.#- Pin major.minor, allow patch updates3.#.#- Pin major, allow minor+patch#.#.#- Allow any version*- Wildcard for suffixes (alpine3.21 -> alpine3.22)ignore- Skip version checking
MIT