<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Docker on Hi, I&#39;m Muhammad Amal</title>
    <link>https://muhammadamal.my.id/tags/docker/</link>
    <description>Recent content in Docker on Hi, I&#39;m Muhammad Amal</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 17 Feb 2025 09:00:00 +0700</lastBuildDate>
    <atom:link href="https://muhammadamal.my.id/tags/docker/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Wasm vs Docker, Where the Lightweight Container Story Holds Up</title>
      <link>https://muhammadamal.my.id/blog/wasm-vs-docker-where-lightweight-container-story-holds-up/</link>
      <pubDate>Mon, 17 Feb 2025 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/wasm-vs-docker-where-lightweight-container-story-holds-up/</guid>
      <description>Where Wasm beats Docker and where it doesn&amp;rsquo;t, with cold-start numbers, density math, and a decision framework grounded in real workloads.</description>
    </item>
    <item>
      <title>Shipping Rust to Kubernetes, Smaller Images and Faster Cold Starts</title>
      <link>https://muhammadamal.my.id/blog/shipping-rust-kubernetes-distroless-docker-2024/</link>
      <pubDate>Wed, 27 Mar 2024 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/shipping-rust-kubernetes-distroless-docker-2024/</guid>
      <description>Production guide to shipping Rust to Kubernetes with multi-stage Docker, distroless images, and cross-compilation.</description>
    </item>
    <item>
      <title>Self-Hosting n8n for Engineering Teams, A Pragmatic Setup Guide</title>
      <link>https://muhammadamal.my.id/blog/n8n-self-hosted-dev-teams/</link>
      <pubDate>Tue, 02 May 2023 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/n8n-self-hosted-dev-teams/</guid>
      <description>A pragmatic guide to deploying n8n self-hosted for dev teams: Docker Compose, Postgres backend, queue mode with Redis, and the gotchas nobody warns you about.</description>
    </item>
    <item>
      <title>Building Images Inside Docker Compose, build vs image</title>
      <link>https://muhammadamal.my.id/blog/docker-compose-build-vs-image/</link>
      <pubDate>Wed, 20 Jul 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/docker-compose-build-vs-image/</guid>
      <description>Compose build vs image: build local vs pull, multi-stage targets, build args, caching.</description>
    </item>
    <item>
      <title>Docker Volumes vs Bind Mounts, When to Use Each</title>
      <link>https://muhammadamal.my.id/blog/docker-volumes-vs-bind-mounts/</link>
      <pubDate>Fri, 15 Jul 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/docker-volumes-vs-bind-mounts/</guid>
      <description>Volumes vs bind mounts vs tmpfs: how each works, perf, when to use each.</description>
    </item>
    <item>
      <title>Beyond docker-compose up, Real-World Patterns in 2022</title>
      <link>https://muhammadamal.my.id/blog/beyond-docker-compose-up-2022-patterns/</link>
      <pubDate>Fri, 01 Jul 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/beyond-docker-compose-up-2022-patterns/</guid>
      <description>Compose v2.6 patterns: profiles, watch, secrets, healthchecks, depends-on. Scale past the README example.</description>
    </item>
    <item>
      <title>Self-Hosting n8n with Docker Compose</title>
      <link>https://muhammadamal.my.id/blog/self-host-n8n-docker-compose/</link>
      <pubDate>Wed, 04 May 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/self-host-n8n-docker-compose/</guid>
      <description>Self-host n8n with Docker Compose + Postgres + reverse proxy. Env vars + production setup.</description>
    </item>
    <item>
      <title>Containerizing a Rust Service, A Sub-25MB Production Image</title>
      <link>https://muhammadamal.my.id/blog/rust-docker-image-small-distroless/</link>
      <pubDate>Fri, 25 Mar 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/rust-docker-image-small-distroless/</guid>
      <description>Sub-25 MB Rust image. cargo-chef, musl static linking, distroless, BuildKit cache. Full Dockerfile + CI.</description>
    </item>
    <item>
      <title>Deploying Docker Images from GitHub Actions to Staging</title>
      <link>https://muhammadamal.my.id/blog/github-actions-deploy-docker-staging/</link>
      <pubDate>Mon, 28 Feb 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/github-actions-deploy-docker-staging/</guid>
      <description>GitHub Actions deploy to staging: build + push to GHCR + kubectl/SSH apply. OIDC over long-lived secrets. Working workflow.</description>
    </item>
    <item>
      <title>GitHub Actions Caching, actions/cache &#43; BuildKit Registry Cache</title>
      <link>https://muhammadamal.my.id/blog/github-actions-cache-buildkit/</link>
      <pubDate>Wed, 23 Feb 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/github-actions-cache-buildkit/</guid>
      <description>GitHub Actions cache strategies. actions/cache@v3 keys, BuildKit registry cache for Docker, and the fixes that cut builds 6× faster.</description>
    </item>
    <item>
      <title>What I Learned Containerizing 11 Services in One Month</title>
      <link>https://muhammadamal.my.id/blog/lessons-containerizing-11-services/</link>
      <pubDate>Mon, 31 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/lessons-containerizing-11-services/</guid>
      <description>End-of-month retro on containerizing a monolith + extracting Go microservices. What worked, what failed, what I&amp;rsquo;d skip.</description>
    </item>
    <item>
      <title>Containerizing a Go Service, A Sub-15MB Production Image</title>
      <link>https://muhammadamal.my.id/blog/go-docker-image-small-distroless/</link>
      <pubDate>Wed, 26 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/go-docker-image-small-distroless/</guid>
      <description>Shipping a Go service in 14 MB with distroless + static linking + Buildx. Full Dockerfile, CVE wins, CI cache wins.</description>
    </item>
    <item>
      <title>Local Development with Docker Compose for a Polyglot Stack</title>
      <link>https://muhammadamal.my.id/blog/docker-compose-polyglot-microservices/</link>
      <pubDate>Mon, 17 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/docker-compose-polyglot-microservices/</guid>
      <description>Docker Compose v2.2 for local microservices dev. Polyglot stack, healthchecks, profiles, ten-minute onboarding.</description>
    </item>
    <item>
      <title>Multi-Stage Docker Builds Cut Our Image Size by 70%</title>
      <link>https://muhammadamal.my.id/blog/multi-stage-docker-build-image-size/</link>
      <pubDate>Fri, 07 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/multi-stage-docker-build-image-size/</guid>
      <description>Multi-stage Docker builds, real numbers. 70% smaller images with Buildx, distroless, and Alpine. CI cache layers that actually save time.</description>
    </item>
    <item>
      <title>Writing a Production Dockerfile for a 5-Year-Old PHP Monolith</title>
      <link>https://muhammadamal.my.id/blog/production-dockerfile-php-monolith/</link>
      <pubDate>Wed, 05 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/production-dockerfile-php-monolith/</guid>
      <description>Line-by-line production Dockerfile for a legacy PHP monolith. Composer caching, opcache, FPM tuning, and the trade-offs nobody documents.</description>
    </item>
    <item>
      <title>Why I&#39;m Finally Containerizing My Monolith in 2022</title>
      <link>https://muhammadamal.my.id/blog/why-im-containerizing-my-monolith-in-2022/</link>
      <pubDate>Mon, 03 Jan 2022 09:00:00 +0700</pubDate>
      <guid>https://muhammadamal.my.id/blog/why-im-containerizing-my-monolith-in-2022/</guid>
      <description>Three years of putting it off. Now the monolith goes in a container. Here is why 2022 is the year the tooling finally got out of the way.</description>
    </item>
  </channel>
</rss>
