Docker ਇੱਕ containerization ਲਈ ਪਲੇਟਫਾਰਮ ਹੈ — ਕਿਸੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇਸਦੀ ਸਾਰੀ ਸਾਰੀ dependencies ਦੇ ਨਾਲ ਇੱਕ portable container ਵਿੱਚ package ਕਰਨਾ ਜੋ ਕਿ ਕਿਤੇ ਵੀ ਇੱਕੋ ਜਿਹਾ ਚਲਦਾ ਹੈ। ਇਹ classic "it works on my machine" ਸਮੱਸਿਆ ਨੂੰ environments ਨੂੰ reproducible ਬਣਾ ਕੇ ਹੱਲ ਕਰਦਾ ਹੈ।
ਸਮੱਸਿਆ: inconsistent environments
WITHOUT containers:
→ an app works on the developer's machine but fails in test/production
→ different OS, library versions, configs, missing dependencies → "works on my machine"
→ setting up environments is manual, error-prone, and inconsistent
