- Just a demo as to how I might approach something like what you are after
- Using digital ocean vps for demo purposes
- Dockerhub for the images
- Assumes we are using a hosted database for all the apps
- App code is deliberately trivial no dependencies
- Containers. Basic approach - each app is a two stage build - Build stage and runtime stage to reduce size etc..
Likely automated with a shell script or a build process using github actions or somesuch ...
- Build image
- Push the image to a registry
- SHH into the VPS
- Login to the Registry from the VPS
- Pull the image from the Registry
- Stop and remove the old container
- Run new container with the updated image
docker exec -it <container_hash> bash
