Use-Case Project: Docker Container Best Practices
Hands-on project to apply the top 18 ✅️ Dos & 🚫 Don'ts Docker container best practices

Nowadays, Docker containers are a de facto standard in the market. Software Engineers and DevOps Engineers work with containers every day.
This hands-on project to apply the top 18 ✅️ Dos & 🚫 Don'ts Docker container best practices like:
Essential Practices
Use Dockerfile linter
Check Docker language-specific best practices
Create a single application per Docker image
Create configurable ephemeral containers
Image Practices
Use optimal base image
Pin versions everywhere
Create an image with the optimal size
Use multi-stage whenever possible
Avoid any unnecessary files
Security Practices
Always use trusted images
Never use untrusted resources
Never store sensitive data in the image
Use a non-root user
Scan image vulnerabilities
Misc Practices
Leverage Docker build cache
Avoid system cache
Create a unified image across envs
Use ENTRYPOINT with CMD
If there is one piece of advice from this project, it will be: Use the Dockerfile linter! Use it via CLI or integrate it with your IDE (e.g., VS Code hadolint extension), and integrate it with your CI pipelines! Using it will avoid at least 50% of the Docker issues with your eyes shut!
Thanks for your time, and hope you enjoy the journey! Here is a kickoff checklist:
📃 Read the frequently asked questions page, it has many valuable information.
⭐ Star the project repo on GitHub for better visibility.
🌐 Join the Telegram group for interactive communication.
Happy DevOpsing ♾️