Stackness
Docker

Docker

Platform for building, shipping, and running containerized apps

6 members list Docker, up 6 in the last 12 weeks, data as of 10 September 2026

Usage on Stackness
6membersup 6 in the last 12 weeks

Members who list Docker in their Stack, by week.

History
Collected from public datasets outside Stackness, not from stacks on this site. Each series is scaled to its own peak because the units do not compare. Data sources
Mentions, monthly

Hacker News mentions mentions: 75 mentions (2013) to 873 mentions (2026)

20132016201920232026

Imported from Hacker News mentions

Questions asked, monthly

Stack Exchange data explorer questions asked: 1 questions (2010) to 11 questions (2026)

20102016201920232026

Imported from Stack Exchange data explorer

Usage share, yearly

Stack Overflow developer survey usage share: 31.24 % of respondents (2019) to 71.79 % of respondents (2025)

20192021202220242025

Imported from Stack Overflow developer survey

Pageviews, monthly

Wikipedia pageviews pageviews: 46,752 views (2015) to 30,961 views (2026)

20152018202120232026

Imported from Wikipedia pageviews

M
Marcus Johnson

@marcus_dev

A
Alex Mueller

@alex_rust

M
Mei Zhang

@mei_ml

Supporter
S
Sergei Gordeichuk

@gordeychuk_s

Supporter
A
algoryunov

@algoryunov

Supporter

Moves that use Docker

I used to keep prod secrets in encrypted files checked into git. This meant every deploy required decryption, every env had its own schema, and one careless moment leaked everything. The cognitive load was constant. I moved to the pattern where only env var names live in version control. I commit a .env.example that lists what keys must exist, nothing more. All actual values come from the runtime environment. For local dev I use direnv to load from a .env file that git ignores. For production, Vercel handles injection directly in the UI. Running direnv allow in a project directory loads the .env automatically whenever you cd into it. The.env.example file stays lean: API_KEY=, DATABASE_URL=, AUTH_SECRET=. If someone forks the repo, they see the shape of what they need without seeing actual values. A leaked .env.example is just a checklist. This breaks down in teams that refuse to use direnv or need secrets in CI/CD systems that don't integrate cleanly. If your pipeline expects files instead of environment variables, you end up bolting on an extra layer anyway. But for anything touching Docker or serverless platforms, this approach removes a whole category of mistakes.

83

Before I adopted multi-stage builds, my Go service images were bloated. I'd compile everything inside the container, and then ship the entire build layer to production. The image sat around 800 megabytes because it contained the Go toolchain, git, and every build dependency. That meant every deployment pulled that extra weight, and every running container exposed toolchain binaries that had no business being in production. I restructured my Dockerfile to build in one stage and copy only the final binary into a fresh stage. The first stage does all the compilation work with all the heavy dependencies available. Then I use a `FROM scratch` or `FROM alpine:latest` for the final stage, and I `COPY --from=builder /app/service /service`. The resulting image drops to about 30 megabytes for a typical CLI tool or microservice. Here's the concrete shift: my build stage runs `RUN go build -o /app/service .` with the full Go installation present, but the runtime stage starts from scratch and only contains that single statically-compiled binary. No source code, no build cache, no compiler. The attack surface shrinks because there is literally nothing left to exploit except the binary itself. The caveat is that this approach works cleanly for statically-compiled binaries, which Go excels at, but falls apart if you need runtime dependencies or configuration files. If your service needs shared libraries or certificate bundles, you have to explicitly copy those into the final stage too, which adds back some size and complexity. It is not a universal solution for all container workflows. ```docker FROM golang:1.25-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 go build -o /bin/api ./cmd/api FROM alpine:3.24 RUN apk add --no-cache ca-certificates COPY --from=builder /bin/api /bin/api ENTRYPOINT ["/bin/api"] ```

64
See all moves that use Docker

Posts about Docker

  • What is a move, anyway?

    Tools are what you install. Moves are how you actually work: the habits, rituals and workflow tricks that make a stack yours. What a move is, and how to write one worth stealing.