Containers: Docker, Compose and Swarm

Advanced

Ship through the registry

Production has always built the shop from source with docker compose up --build, right on the server. The new production server receives no source code any more: only compose.prod.yaml and .env. Build release 1.4.0 here, on the CI server, publish it to the company registry, and make compose.prod.yaml run exactly those images.

This checkout holds the API (api/) and the order worker (worker/). The CI account is logged in to registry.shop.internal and may push only to the shop project. The test copies compose.prod.yaml and .env to a brand-new production server, runs docker compose -f compose.prod.yaml up -d there, and opens http://<server>/products every minute for an hour.

What your server must hold

  • Availability ≥ 99 %

What you will master