Docker
Use OrbStack instead of Docker Desktop on mac.
Using Nix with Dockerfiles is great read. Can also use devenv.
The nice thing about using Nix to build Docker images is that image contains literally only the dependencies of the app.
DockerSlim is useful. Seems everyone is moving to containerd or Colima now.
Try to avoid using Docker for Nix which can even build Docker images if you need them.
I use GitHub container registry to store docker containers.
dive is neat tool explore contents of each image.
MRSK is interesting tool to deploy containers on bare Linux machines like Hetzner.
Links
- Docker Docs (Code)
- Introduction to Docker (2013)
- sen - Terminal User Interface for docker engine.
- Understanding Docker, Containers and Safer Software Delivery
- Docker 101
- Intro to Docker slides (2014)
- Dokku - Docker-powered PaaS that helps you build and manage the lifecycle of applications.
- dive - Tool for exploring a docker image, layer contents, and discovering ways to shrink your Docker image size.
- Scratch Node.js Docker Images
- Testing Databases with Docker (2015)
- Jess Frazelle's dockerfiles
- Docker Containers on the Desktop (2015)
- Minimal Ubuntu base image modified for Docker-friendliness
- img - Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.
- dry - Terminal application to manage Docker and Docker Swarm.
- docui - TUI Client for Docker Written in Go.
- Watchtower - Automatically update running Docker containers.
- Kraken - P2P docker registry capable of distributing TBs of data in seconds.
- HN: Goodbye Docker and Thanks for All the Fish (2019)
- Tini - Tiny but valid
init
for containers. - browserless - Chrome as a service in docker. Bring your own cloud or hardware..
- hadolint - Dockerfile linter, validate inline bash, written in Haskell.
- Lazydocker - Lazier way to manage everything docker. (HN)
- docker-gen - Generate files from docker container meta-data.
- Intro Guide to Dockerfile Best Practices (2019) (HN)
- ctop - Top-like interface for container metrics.
- DockerSlim - Minify and Secure Docker containers. (HN)
- "Distroless" Docker Images - Language focused docker images, minus the operating system.
- Docker Registry Client for Go apps
- tsuru - Open source, extensible and Docker-based Platform as a Service.
- tsuru-client - Command line for application developers on tsuru.
- Deploying Go servers with Docker (2014)
- Create the smallest and secured golang docker image based on scratch (2018)
- HN: What Exactly is Docker? (2020)
- runq - Run regular Docker images in KVM/Qemu.
- BuildKit - Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit.
- Docker Images : Part I - Reducing Image Size (2020)
- docker-squash - Squash docker images to make them smaller.
- dregsy - Lets you sync Docker images between registries, public or private.
- Curated list of Docker Compose samples
- Dockercraft - Simple Minecraft Docker client, to visualize and manage Docker containers.
- Harbour - Docker/Portainer client for iOS (and iPadOS) written in SwiftUI.
- into-docker - Lets you build and run applications relying on common frameworks or build tools without ever having to write another Dockerfile.
- Docker CE - Hosts open source components of Docker CE products.
- Docker 101: A basic web-server displaying hello world (2020) (Lobsters)
- magicpak - Build minimal docker images without static linking. (HN)
- DevOps with Docker - Introductory course to Docker and docker-compose. (Code)
- Bollard - Asynchronous rust client library for the docker API.
- Docker EE Operational Checklist
- Bocker - Docker implemented in around 100 lines of bash. (HN)
- Why strace doesn't work in Docker (2020) (HN)
- Udemy Course Docker Mastery - Build, test, deploy containers with the best mega-course on Docker, Kubernetes, Compose, Swarm and Registry using DevOps. (Code)
- CapRover - Build your own PaaS in a few minutes. (HN) (Code)
- Deploy - Step-by-step, open-source tool for easy Docker deployments to AWS.
- Swarmlet - Self-hosted, open-source Platform as a Service that enables easy swarm deployments, load balancing, automatic SSL, metrics, analytics and more.
- Collection of delicious docker recipes
- Gocker: Docker implemented in 1.3k lines of Go (2020) (HN)
- Docker CLI plugin for Amazon ECS (Article) (HN)
- Docker-type runtime, written in 100% Python
- Understanding Docker Visually (2020)
- Docket - Tool to make running test suites easier, using docker-compose.
- Docker Roadmap
- Docker Sync - Run your application at full speed while syncing your code for development.
- Docker Sync Boilerplate
- Penguins in Docker - A Tutorial on Why We Use Docker (2020)
- Dockerfile Security Best Practices (2020) (HN) (Code)
- It's Time to Forget About Docker (2020) (Lobsters)
- Smaller Docker Images Using Multi-Stage Builds (2020)
- Reproducible docker containers (2019)
- Docker Repull - Tool to restart a Docker container with a newer version of an image used by the container.
- Registrator - Service registry bridge for Docker.
- selfdock - Sandbox for process and filesystem isolation, like Docker, but without its hard problems.
- Docker for macOS bug reports
- Docker CLI
- Docker Compose - Tool for defining and running multi-container Docker applications. (Docs)
- Clair scanner - Docker containers vulnerability scan.
- Preparing for the Docker Hub Rate Limits (2020)
- Jobs as a Service (JaaS) - Run jobs (tasks/one-shot containers) on Docker Swarm.
- pkger - Package building tool utilizing Docker written in Rust.
- Docker App - Cloud Native application packaging framework with which developers and devops can build, share, and run a set of microservices as a single entity.
- Dockter - Low-overhead, open-source Docker log management tool. (HN)
- Docker Compose CLI - Makes it easy to run Docker containers and Docker Compose applications in the cloud.
- Reusable development containers with Docker Compose and Dip (2020) (HN)
- DIP - Docker Interaction Process. Command-line utility that gives the "native" interaction with applications configured with Docker Compose.
- Transitioning from Docker to Podman (2020) (HN)
- duct - Docker-compose alike functionality directly from Go, for integration testing.
- Please Contain Yourself - Docker tutorial written for people who don't actually know Docker already.
- Towards a Strong Mental Model of Docker (2020)
- Dockerfile best practices (HN)
- Docker Getting Started Tutorial
- Run More Stuff in Docker (2020)
- Docker Compose: a nice way to set up a dev environment (2021)
- whaler - Visual disk-usage analyzer for docker images.
- It’s time to switch to Docker BuildKit (2021) (Lobsters)
- Envase - Removes the pain from running apps using docker by providing an amazing developer experience. (Code)
- Doko - Docker-based development dependency manager.
- zapp - Tool to interact with Docker registry objects.
- Hardening Docker and Kubernetes with seccomp (2021)
- Speed up pip downloads in Docker with BuildKit’s new caching (2021)
- Docker Hub Tool - CLI tool for interacting with the Docker Hub.
- App Platform sample Docker application
- Dazzle - Experimental Docker image builder which builds independent layers.
- Cleanup Docker (2021)
- Docker Security Cheat Sheet (HN)
- Why We Don’t Use Docker (2021) (Lobsters) (HN)
- The worst so-called “best practice” for Docker (2021) (Lobsters)
- Docker without Docker (2021) (HN)
- The Docker Handbook (Code)
- Don’t leak your Docker image’s build secrets (2021)
- Write a Good Dockerfile in 19 'Easy' Steps (2021)
- Rocker - Minimal docker implementation for educational purposes.
- Better Dockerfiles (2021)
- Docker-ls - Set of CLI tools for browsing and manipulating docker registries.
- Cheapest, lowest-effort way to run 2 docker containers in a reliable way
- Docker Cheat Sheet
- File Permissions: A painful side of Docker (2019) (HN)
- Diun - Receive notifications when an image is updated on a Docker registry. (Docs)
- Best Practices Around Creating Production Ready Web Apps with Docker Compose (2021) (HN)
- Docker is a compiler (2021) (Lobsters)
- Execute Docker Containers as QEMU MicroVMs (2021) (HN)
- xx - Dockerfile cross-compilation helpers.
- Pumba - Chaos testing command line tool for Docker containers.
- kool - Makes using Docker for local development easier, simpler, faster, and better. (Web)
- Ask HN: As a solo founder, what are the reasons not to use Docker? (2021)
- Use the same Dockerfile for both local development and production with multi-stage builds (2021)
- Docker container security cheat sheet (HN)
- Docker Layer Caching in GitHub Actions
- Linux is dead, long-live Docker monoculture (2021) (Lobsters) (HN)
- Which validations do you run between "docker build" and "kubectl apply"? (2021)
- Docker with IPv6 and Network Isolation (2021)
- An Overview of Docker Desktop Alternatives (2021) (HN)
- Migrating from Docker to Podman (2021) (Lobsters) (HN)
- Docker in Production: Lessons from the Trenches
- How Docker broke in half (2021) (HN)
- qemu-user-static (qus) - Compilation of utilities, examples and references to build and execute OCI images (aka docker images) for foreign architectures using QEMU's user-mode emulation. (Docs)
- Are Dockerfiles good enough? (2021) (Lobsters)
- Podman Compose - Script to run docker-compose.yml using podman.
- Using Podman with BuildKit, the better Docker image builder (2021) (Lobsters)
- testcontainers-go - Go library that providing a friendly API to run Docker container. It is designed to create runtime environment to use during your automatic tests.
- Testcontainers-rs - Library for integration-testing against docker containers from within Rust.
- Build docker images with Nix
- kontain.me - Serves Docker container images generated on-demand at the time they are requested.
- Play With Docker - Simple, interactive and fun playground to learn Docker. (Code)
- Reproducible Computational Environments Using Containers: Introduction to Docker (Code)
- The hunt for a better Dockerfile (2021) (Lobsters)
- Docuum - LRU eviction of Docker images.
- Docker Socket Proxy - Proxy over your Docker socket to restrict which requests it accepts.
- Lazytainer - Docker container lazy loading.
- docker-amend - Amend Docker images by running a command in a separate layer.
- Docker Scan - Command Line Interface to run vulnerability detection on your Dockerfiles and Docker images.
- Crane - Easy-to-use and beautiful desktop application helps you build manage your docker images.
- Docker Compose Specification (Code) (Spec Code)
- Containernet - Mininet fork adding support for container-based (e.g. Docker) emulated hosts. (Web)
- From Docker Container to Bootable Linux Disk Image (2021) (Code)
- go-dockerfile - Utilities for interacting with Dockerfiles.
- The Case of the Failed Docker Connection
- regclient - Docker and OCI Registry Client in Go and tooling using those libraries.
- Composerize - Turns docker run commands into docker-compose files. (Code)
- Use docker image tagging to speedup the builds (2021)
- Docker Registry Helm Chart
- compose-go - Go reference library for parsing and loading Compose files as specified by the Compose specification.
- Anchore Engine - Service that analyzes docker images and applies user-defined acceptance policies to allow automated container image validation and certification.
- Small Docker Images (2021)
- dockeye - GUI app for managing Docker.
- reg - Docker registry v2 command line client and repo listing generator with security checks.
- docker-companion - Squash and unpack Docker images, in Go.
- duuh - Aims to build docker images with unattended upgrades, i.e. with fixables CVEs fixed.
- Ofelia - Docker job scheduler (aka. crontab for docker).
- Create docker image on Apple Silicon M1 Mac (2021)
- dlayer - Docker layer analyzer.
- dockerize - Utility to simplify running applications in docker containers.
- Docker Buildkit Pulumi Provider
- slim - Build and run tiny vms from Dockerfiles. Works by building and extracting a rootfs from a Dockerfile, and then merging that filesystem with a small minimal kernel that runs in RAM.
- Optimizing Docker image size and why it matters (2022)
- contains.dev - See what's in your Docker. Explore your images, view their files, layers and dependencies.
- Narwhal - Simplistic wrapper around the Docker Go API.
- A faster dockerTools.buildImage prototype (2021)
- Dozzle - Log viewer for Docker. (Code)
- Docker for Mac - Docker Machine / Vagrant / Ansible
- ch - Docker config and shell manager for ~using~ misusing containers as dev environments.
- swarm-cronjob - Create jobs on a time-based schedule on Docker Swarm.
- manifest-tool - Command line tool to create and query container image manifest list/indexes.
- doko - Docker you know but with TUI.
- udocker - Basic user tool to execute simple docker containers in batch or interactive systems without root privileges.
- How to optimize the security, size and build speed of Docker images (2022) (HN)
- Awesome Docker Security
- Dockerfiler - Declaratively manage images built from a set of Dockerfiles.
- docker-compose-wait - Command-line utility to wait for other docker images to be started while using docker-compose.
- Miniboss - Python application for locally running a collection of interdependent docker services. (HN)
- Just Say No To
:Latest
(2022) (HN) - docker-volume-backup - Backup Docker volumes locally or to any S3 compatible storage.
- Dockle - Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start.
- Run Nomad from a Docker container
- Docker Registry Proxy - HTTPS Proxy for Docker providing centralized configuration and caching of any registry.
- bane - Custom & better AppArmor profile generator for Docker containers.
- Dockerized - Run CLI tools without installation. (HN)
- Mastering the Docker cache (2022)
- EnvCLI - Run commands within ethereal docker containers.
- cri-dockerd - Adapter provides a shim for Docker Engine that lets you control Docker via the Kubernetes Container Runtime Interface.
- Guide on how to make Docker images even smaller (2022)
- Docker Registry UI
- Dockerfile Dependency graph - Shows Dockerfile dependency graph. Useful to understand how build Dockerfile. (Code)
- apko - Build OCI images using APK directly without Dockerfile.
- Check if image tag exists in Container Registry (GitHub) (2022)
- Go Plugin Helpers - Go helper packages to extend the Docker Engine.
- Terraform Provider for Docker
- Best service that has a one-click deployment of an app with a Dockerfile (2022)
- OCI Image Builder - Builds Dockerfile using the Docker client (with squashing! and secrets!).
- Running GUI apps within Docker containers (2022) (HN)
COPY –chmod
reduced the size of my container image by 35% (2022) (HN) (Lobsters) (Reddit)- Automation with Docker for CI/CD Workflows - GitHub Actions automation examples with Docker.
- Docker optimization guide: 8 tricks to optimize your Docker image size (2022)
- Good Karma Kit - Docker Compose bundle to run on servers with spare CPU, RAM, disk, and bandwidth to help the world. Includes Tor, ArchiveWarrior, BOINC, and more. (HN)
- testcontainers-python - Allows using docker containers for functional and integration testing.
- Dockly - Immersive terminal interface for managing docker containers and services.
- dockprom - Monitoring solution for Docker hosts and containers with Prometheus, Grafana, cAdvisor, NodeExporter and alerting with AlertManager.
- go-metrics - Package for metrics collection in Docker projects.
- Docker Compose Buildkite Plugin - Buildkite plugin that lets you build, run and push build steps using Docker Compose.
- docker-credential-magic - Magic shim for Docker credential helpers.
- Dockerfile Utilities - Library and command line interface for formatting and linting Dockerfiles.
- Docker Official Image packaging for Docker
- Docker From Scratch Workshop
- ttl.sh - Anonymous & ephemeral (and free) Docker image registry. (Code)
- Gitpod Workspace Images - Ready-to-use Docker images for gitpod.io workspaces.
- Drone Docker - Drone plugin for publishing Docker images using Docker-in-Docker.
- Docker Extensions SDK
- buildg - Tool to interactively debug Dockerfile based on BuildKit. (Article)
- Dockit - Docker Registry Authentication Made Simple.
- Fly Machines: An API for Fast-Booting VMs (2022) (HN)
- dock - Alternative way to use Docker without Dockerfiles. (Code) (HN)
- docker-show-context - Show where time is wasted during the context upload of
docker build
. - Dockerfile+ - New commands for Dockerfile.
- go-crond - Cron daemon written in Go (for eg. usage in docker images).
- SWIRL - Web UI for Docker, focused on swarm cluster.
- Process Compose - Simple and flexible scheduler and orchestrator to manage non-containerized applications.
- Why new Macs break your Docker build, and how to fix it (2022)
- drone-gc - Garbage collection of unused docker resources.
- Docker Credential Helpers - Programs to keep Docker login credentials safe by storing in platform keystores.
- VSCode buildg - Interactive Debugger for Dockerfile on VS Code.
- What are Docker Extensions (2022)
- Shipspotter - Tool for tunneling a port forward into remote Docker containers over SSH.
- Non-Obvious Docker Uses (2022) (HN)
- Docker and the OCI container ecosystem (2022)
- Modus - Language for building Docker/OCI container images. (Web)
- Docker Python SDK
- Docker Compose best practices for dev and prod (2022) (HN)
- When docker images stop being portable (2022)
- dcp - Docker cp made easy.
- Container ToolKit - Visually generate docker compose manifests and deploy apps to AWS ECS.
- Lug - Lug lets you run Python functions paired with any Docker container.
- docker-api - Rust interface to Docker containers.
- Running Docker images without Docker (2022)
- Why use docker for a home server? (Lobsters)
- Docker Hub CLI - CLI to explore and manage Docker Hub resources.
- Trellis - Write Dockerfiles and CI pipelines in TypeScript.
- Docker and Hacktoberfest 2022
- Layerfiles - Single binary that lets you build microvms using a syntax that looks like a Dockerfile. (Web)
- Introducing the Docker+Wasm Technical Preview (2022)
- docker-host - Docker sidecar container to forward all traffic to local docker host or any other host.
- Docker in the browser using x86-to-WASM recompilation (HN)
- Docker WASM - Proof of concept of running WASM w/ Docker.
- Dive In - Docker extension that helps you explore a docker image, layer contents, and discover ways to shrink the size of your Docker/OCI image.
- Podman Desktop - Free OSS Alternative to Docker Desktop. (HN)
- Deterministic source-based docker image checksum
- Beefs with Docker (2019)
- Depot - Build Docker images fast, in the cloud. (CLI) (HN)
- Docker Extension Ideas
- Useful Docker commands cheat sheet
- Docker + WASM Docs
- ima.ge.cx - Inspect the contents of Docker images. (Code)
- Docker on MacOS is slow and how to fix it (2022) (HN)
- Build, Share, and Run WebAssembly Apps Using Docker (2022)
- WASM Docker Extension Example
- Ask HN: A Better Docker Compose? (2023)
- A comprehensive guide for the fastest possible Docker builds in human existence (2023)
- runlike - Given an existing Docker container, prints the command line to run it. (HN)
- Ask HN: What is the best source to learn Docker in 2023?
- Go Docker client - Go client for the Docker Engine API.
- DockerSwift - Swift client library for Docker.
- Docker Will Edit Host-Based Firewall Rules For You (2023) (HN)
- docker-bakery - Dockerfile hierarchy management tool with automatic rebuilding of dependent images when parent changes.
- Awesome Docker Compose Examples (HN)
- MRSK - Deploys web apps anywhere from bare metal to cloud VMs using Docker with zero downtime. (HN)
- ADH - Docker 'Useful Commands' Helper.
- How we deploy faster with warm Docker containers (2023) (HN)
- Working out which Docker namespaces and images you most depend on (2023)
- Using compose files as a universal infrastructure interface (2023)
- Zero-Downtime Deployments with Docker Compose (2023) (HN)
- aquamarine - Demo of zero-downtime deploys with Docker Compose and Traefik.
- Using Nix with Dockerfiles (2023) (Lobsters) (HN)
- oxker - Simple TUI to view & control docker containers.
- excalidocker-rs - Convert your docker-compose into excalidraw.
- Build your own Docker with Linux namespaces, cgroups, and chroot (2023) (HN)
- dockerfile-node - Dockerfile generator for Node.js.
- Deltaimage - Tool to generate and apply binary deltas between Docker images to optimize registry storage.