byteNative
Cloud & DevOps

Docker

Reproducible environments through containerisation, from dev to prod.

What is Docker?

Docker packages an application together with all its dependencies into a self-contained container that runs the same everywhere. That finally puts an end to the old excuse that something only works on your own machine. From local development to production the environment stays identical, which makes deployments predictable and relaxed. A container is lighter than a virtual machine, starts in seconds and shares the kernel with the host.

More in the documentation

How we use it

We containerise just about every service we build, so that exactly the same thing runs locally, in CI and in production. With Docker Compose we bring entire setups of database, cache and app onto your machine with a single command, without you installing anything by hand. That makes onboarding fast and deployments boring, in the best sense.

dockerfile
FROM node:22-slim AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:22-slim
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
CMD ["node", "dist/main.js"]
a lean node image via multi-stage build

Good to know

Multi-stage builds keep your final image small, because build tools stay in an intermediate stage and only the finished result ends up in the runtime image. That saves space and shrinks the attack surface as a side effect.

00Cloud & DevOps

More tools we work with in the same area.

Which technology fits you?

You don't have to decide that, it's our job. Tell us about your plans.