Docker Workshop

Docker workshop: from installing Docker to Compose, Portainer and Caddy

เริ่มอ่าน
episodes
17 ตอน
  1. 01InstallationChoose a container runtime for your machine: Docker Desktop, OrbStack, Podman or containerd.
  2. 02What & Why?What Docker is and why to use it: bare metal compared with Docker, portability, security, performance and scaling.
  3. 03Docker conceptsDocker architecture and objects: Dockerfile, images, containers, the daemon, the client and registries.
  4. 04Docker Basic CommandsDocker basic commands: pull and delete images, create, start, stop and inspect containers, expose ports.
  5. 05Hands-on Website CSR React + Vite + TSCreate a React + Vite + TS app, build and serve it, then write a Dockerfile and .dockerignore and build the image.
  6. 06Multi-stage Dockerfile for React + Vite + TSMake the React image smaller with a multi-stage Dockerfile: a build stage and a final stage.
  7. 07Hands-on Backend using HonoBuild a Hono backend with upload and static file routes, then write its Dockerfile and run it in a container.
  8. 08VolumesKeep uploaded files when a container is deleted, by binding a folder of the host as a volume.
  9. 09Hands-on SSR using NextBuild a Next.js SSR app, write its Dockerfile, run the container and fix the connection to the backend.
  10. 10Docker networkDocker networks: create a network, connect containers to it and let them talk to each other.
  11. 11Docker composeDescribe services in a compose.yaml, run them with Docker Compose, add services and use compose networks.
  12. 12Docker compose restart policyRestart policy and health checks for Docker Compose services.
  13. 13Postgres exampleA compose.yaml for a Postgres database.
  14. 14PortainerPortainer, a web dashboard for Docker, installed with docker run or with Compose.
  15. 15CaddyCaddy as a reverse proxy with automatic TLS: the Caddyfile and the compose file.
  16. 16Non-root user (Rootless)Run containers as a non-root user: UID and GID, with the Next.js and Hono Dockerfiles.
  17. 17PruneFree disk space with docker prune: images, containers, volumes, networks and the whole system.