Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”

Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”

🎯 Goal of the video

Show, from scratch, how to containerise (“dockerise”) a sample Node.js app, push it to Docker Hub and run it anywhere.

Lays foundation for later CKA topics…


This content originally appeared on DEV Community and was authored by Darshan Vasani

Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”

🎯 Goal of the video

  • Show, from scratch, how to containerise (“dockerise”) a sample Node.js app, push it to Docker Hub and run it anywhere.
  • Lays foundation for later CKA topics (pods, images, registries, best-practices).

1  Prerequisites & Sandbox options

  • Local install: Docker Desktop (Mac, Windows, Linux).
  • Zero-install alternative: Play-with-Docker (Docker-provided 4-hour sandbox).
  labs.play-with-docker.com  →  Start  →  Add new instance

2  Clone sample project

# create workspace
mkdir day02_code && cd day02_code      

# pull sample “getting-started” todo app
git clone https://github.com/docker/getting-started.git
cd getting-started/app        # contains package.json, src/, etc.

3  Write the Dockerfile

# ─── 1. Base image ───────────────────────────────────────────────
FROM node:18-alpine                              # tiny Linux + Node.js

# ─── 2. Set workdir inside container ─────────────────────────────
WORKDIR /app

# ─── 3. Copy source code into image ──────────────────────────────
COPY . .

# ─── 4. Install prod deps only ───────────────────────────────────
RUN yarn install --production

# ─── 5. Expose port app listens on ───────────────────────────────
EXPOSE 3000

# ─── 6. Container start-up command ───────────────────────────────
CMD ["node","src/index.js"]

🧩 Flow diagram

Host FS ─► docker build
          │
          ▼
      Dockerfile  ──►  Layered Image (base → code → deps) ──► Registry

4  Build image locally

docker build -t day02-todo:latest .

Image is now visible via: docker images or Docker-Desktop > Images.

5  Push to Docker Hub

# 1. create repo on hub:  /test-repo  (public is fine)

# 2. tag local image for hub
docker tag day02-todo:latest  /test-repo:latest

# 3. login and push
docker login
docker push /test-repo:latest

6  Run the container anywhere

# pull (if on fresh machine)
docker pull /test-repo:latest

# run detached, publish host:3000 → container:3000
docker run -d -p 3000:3000 --name todoapp /test-repo:latest

Open http://localhost:3000 📝✅.

7  Troubleshoot inside the container

# open an interactive shell (Alpine uses sh)
docker exec -it todoapp sh
# inspect files, logs, env, etc.

8  Key Docker CLI quick-ref

Task Command
List images docker images
List running containers docker ps
Stop & remove docker stop && docker rm
Remove image docker rmi
Clean dangling layers docker system prune

9  Next-step teaser 🐣

Image weighs 217 MB—too big for a tiny todo app!

Hint for next video: multi-stage builds and other best practices shrink it dramatically.

💡 Takeaways

  • Dockerfile = deterministic recipe → identical runtime everywhere.
  • Layered cache speeds builds & transfers.
  • Registry push/pull workflow mirrors real CI/CD pipelines.
  • Knowing basic docker build/run/exec is a must before jumping into Kubernetes objects (pods, deployments, etc.). 🎓


This content originally appeared on DEV Community and was authored by Darshan Vasani


Print Share Comment Cite Upload Translate Updates
APA

Darshan Vasani | Sciencx (2025-07-26T07:58:11+00:00) Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”. Retrieved from https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/

MLA
" » Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”." Darshan Vasani | Sciencx - Saturday July 26, 2025, https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/
HARVARD
Darshan Vasani | Sciencx Saturday July 26, 2025 » Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”., viewed ,<https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/>
VANCOUVER
Darshan Vasani | Sciencx - » Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/
CHICAGO
" » Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”." Darshan Vasani | Sciencx - Accessed . https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/
IEEE
" » Notes & Cheatsheet: “Dockerizing an App – CKA Series #2”." Darshan Vasani | Sciencx [Online]. Available: https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/. [Accessed: ]
rf:citation
» Notes & Cheatsheet: “Dockerizing an App – CKA Series #2” | Darshan Vasani | Sciencx | https://www.scien.cx/2025/07/26/notes-cheatsheet-dockerizing-an-app-cka-series-2/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.