ਡੌਕਰ ਬਿਲਡ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ: ਅਵੈਧ ਵਿੰਡੋਜ਼ ਮਾਊਂਟ ਕਿਸਮ 'ਬਾਈਂਡ'

Docker

ਵਿੰਡੋਜ਼ 'ਤੇ ਡੌਕਰ ਚਿੱਤਰ ਬਣਾਉਣ ਦੀਆਂ ਚੁਣੌਤੀਆਂ ਨੂੰ ਪਾਰ ਕਰਨਾ

ਡੌਕਰ ਚਿੱਤਰਾਂ ਨੂੰ ਬਣਾਉਣਾ ਕਦੇ-ਕਦੇ ਇੱਕ ਭੁਲੇਖੇ ਨੂੰ ਨੈਵੀਗੇਟ ਕਰਨ ਵਰਗਾ ਮਹਿਸੂਸ ਕਰ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਗਲਤੀਆਂ ਅਚਾਨਕ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ। ਵਿੰਡੋਜ਼ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਵਿੱਚ ਭਿਆਨਕ ਗਲਤੀ ਸ਼ਾਮਲ ਹੈ: "ਫਰੰਟਐਂਡ dockerfile.v0 ਨਾਲ ਹੱਲ ਕਰਨ ਵਿੱਚ ਅਸਫਲ।" ਜੇਕਰ ਤੁਸੀਂ ਇੱਥੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਸੰਭਾਵਤ ਤੌਰ 'ਤੇ ਇਸ ਸਮੱਸਿਆ 'ਤੇ ਫਸ ਗਏ ਹੋ ਅਤੇ ਇਹ ਸੋਚ ਰਹੇ ਹੋ ਕਿ ਅੱਗੇ ਕਿਵੇਂ ਵਧਣਾ ਹੈ।

ਇਹ ਗਲਤੀ ਅਕਸਰ ਵਿੰਡੋਜ਼-ਵਿਸ਼ੇਸ਼ ਫਾਈਲ ਪਾਥਾਂ ਅਤੇ ਮਾਊਂਟ ਸੰਰਚਨਾਵਾਂ ਨਾਲ ਡੌਕਰ ਦੇ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਤੋਂ ਪੈਦਾ ਹੁੰਦੀ ਹੈ। ਜਦੋਂ ਕਿ ਡੌਕਰ ਕੰਟੇਨਰਾਈਜ਼ੇਸ਼ਨ ਲਈ ਇੱਕ ਮਜਬੂਤ ਪਲੇਟਫਾਰਮ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਇਸ ਨੂੰ ਕਦੇ-ਕਦਾਈਂ ਵਿੰਡੋਜ਼ ਸਿਸਟਮਾਂ 'ਤੇ ਥੋੜਾ ਵਾਧੂ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਗਲਤੀ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਉਮੀਦ ਕੀਤੀ ਅਤੇ ਪ੍ਰਦਾਨ ਕੀਤੀ ਮਾਊਂਟ ਕਿਸਮ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਬੇਮੇਲ ਦਾ ਸੁਝਾਅ ਦਿੰਦੀਆਂ ਹਨ।

ਵਿੰਡੋਜ਼ 'ਤੇ ਡੌਕਰ ਨਾਲ ਕੰਮ ਕਰਨ ਵਾਲੇ ਇੱਕ ਡਿਵੈਲਪਰ ਵਜੋਂ, ਮੈਂ ਇਸ ਨਿਰਾਸ਼ਾਜਨਕ ਮੁੱਦੇ ਦਾ ਇੱਕ ਤੋਂ ਵੱਧ ਵਾਰ ਸਾਹਮਣਾ ਕੀਤਾ ਹੈ। ਉਦਾਹਰਣ ਦੇ ਲਈ, ਮੇਰੇ ਸ਼ੁਰੂਆਤੀ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚੋਂ ਇੱਕ ਦੇ ਦੌਰਾਨ, ਮੈਂ ਡੀਬੱਗ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਵਿੱਚ ਘੰਟੇ ਗੁਆ ਦਿੱਤੇ ਕਿ ਡੌਕਰ ਮੇਰੀ ਡੌਕਰਫਾਈਲ ਨੂੰ ਕਿਉਂ ਨਹੀਂ ਪੜ੍ਹ ਸਕਿਆ, ਸਿਰਫ ਇਹ ਪਤਾ ਲਗਾਉਣ ਲਈ ਕਿ ਵਿੰਡੋਜ਼ ਮਾਉਂਟਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦਾ ਹੈ. ਇਹਨਾਂ ਤਜ਼ਰਬਿਆਂ ਨੇ ਮੈਨੂੰ ਧੀਰਜ ਅਤੇ ਸਟੀਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਐਡਜਸਟਮੈਂਟਾਂ ਦੀ ਕੀਮਤ ਸਿਖਾਈ। 🛠️

ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਖੋਜ ਕਰਾਂਗੇ ਕਿ ਇਹ ਗੜਬੜ ਕਿਉਂ ਵਾਪਰਦੀ ਹੈ ਅਤੇ, ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ, ਇਸਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰਨਾ ਹੈ। ਭਾਵੇਂ ਤੁਸੀਂ ਇੱਕ ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਸਥਾਪਤ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਮੌਜੂਦਾ ਇੱਕ ਸਮੱਸਿਆ ਦਾ ਨਿਪਟਾਰਾ ਕਰ ਰਹੇ ਹੋ, ਇੱਥੇ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਕਦਮ ਤੁਹਾਡੀ ਡੌਕਰ ਚਿੱਤਰ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਬਣਾਉਣ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਨਗੇ। 🚀

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
docker build --file ਇੱਕ ਕਸਟਮ ਡੌਕਰਫਾਈਲ ਟਿਕਾਣਾ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ। ਇਹ ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਗੈਰ-ਮਿਆਰੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਇੱਕ ਡੌਕਰਫਾਈਲ ਵੱਲ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਇਸ਼ਾਰਾ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਡਿਫੌਲਟ ਡੌਕਰਫਾਈਲ ਨਹੀਂ ਮਿਲਦੀ ਹੈ ਤਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।
docker build --progress=plain ਡੌਕਰ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੇ ਦੌਰਾਨ ਪਲੇਨ ਟੈਕਸਟ ਲੌਗਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ, ਚਲਾਏ ਗਏ ਕਦਮਾਂ ਦੀ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਅਤੇ ਲੁਕੀਆਂ ਹੋਈਆਂ ਗਲਤੀਆਂ ਜਾਂ ਗਲਤ ਸੰਰਚਨਾਵਾਂ ਨੂੰ ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ।
os.path.abspath() ਇੱਕ ਸੰਬੰਧਿਤ ਫਾਈਲ ਮਾਰਗ ਨੂੰ ਇੱਕ ਪੂਰਨ ਮਾਰਗ ਵਿੱਚ ਬਦਲਦਾ ਹੈ, ਜੋ ਵਿੰਡੋਜ਼ 'ਤੇ ਡੌਕਰ ਬਿਲਡਸ ਵਿੱਚ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ, ਜਿੱਥੇ ਸੰਬੰਧਿਤ ਮਾਰਗ ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੇ ਹਨ।
.replace("\\", "/") ਡੌਕਰ ਯੂਨਿਕਸ-ਸ਼ੈਲੀ ਮਾਰਗ ਲੋੜਾਂ ਦੇ ਨਾਲ ਅਨੁਕੂਲਤਾ ਲਈ ਵਿੰਡੋਜ਼ ਫਾਈਲ ਪਾਥਾਂ ਵਿੱਚ ਬੈਕਸਲੈਸ਼ਾਂ ਨੂੰ ਅੱਗੇ ਸਲੈਸ਼ਾਂ ਵਿੱਚ ਬਦਲੋ।
subprocess.run() ਇੱਕ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰੋਂ ਇੱਕ ਸਿਸਟਮ ਕਮਾਂਡ (ਉਦਾਹਰਨ ਲਈ, ਡੌਕਰ ਬਿਲਡ) ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਵਿਸਤ੍ਰਿਤ ਗਲਤੀ ਰਿਪੋਰਟਿੰਗ ਲਈ ਸਟੈਂਡਰਡ ਆਉਟਪੁੱਟ ਅਤੇ ਗਲਤੀ ਦੋਵਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰਦਾ ਹੈ।
docker images | grep ਫਿਲਟਰ ਡੌਕਰ ਚਿੱਤਰ ਇੱਕ ਕੀਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਕੀ ਇੱਕ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੇ ਬਾਅਦ ਇੱਕ ਖਾਸ ਚਿੱਤਰ ਮੌਜੂਦ ਹੈ, ਇੱਕ ਤੇਜ਼ ਪ੍ਰਮਾਣਿਕਤਾ ਪੜਾਅ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
docker --version ਡੌਕਰ ਦੇ ਸਥਾਪਿਤ ਸੰਸਕਰਣ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇਹ ਨਿਰਧਾਰਤ ਡੌਕਰਫਾਈਲ ਅਤੇ ਵਿੰਡੋਜ਼ ਵਾਤਾਵਰਣ ਨਾਲ ਅਨੁਕੂਲਤਾ ਲਈ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ।
exit 1 ਜੇਕਰ ਕੋਈ ਸ਼ਰਤ ਫੇਲ ਹੋ ਜਾਂਦੀ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਡੌਕਰਫਾਈਲ ਨਹੀਂ ਮਿਲੀ ਜਾਂ ਬਿਲਡ ਅਸਫਲਤਾ), ਆਟੋਮੇਸ਼ਨ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਮਜ਼ਬੂਤ ​​​​ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ, ਇੱਕ ਗਲਤੀ ਸਥਿਤੀ ਦੇ ਨਾਲ ਇੱਕ Bash ਸਕ੍ਰਿਪਟ ਤੋਂ ਬਾਹਰ ਨਿਕਲਦਾ ਹੈ।
FileNotFoundError ਪਾਈਥਨ ਅਪਵਾਦ ਉਦੋਂ ਉਠਾਇਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਲੋੜੀਂਦੀ ਫਾਈਲ, ਜਿਵੇਂ ਕਿ ਡੌਕਰਫਾਈਲ, ਗੁੰਮ ਹੁੰਦੀ ਹੈ। ਇਹ ਸਪਸ਼ਟ ਸੰਦੇਸ਼ ਦੇ ਨਾਲ ਜਲਦੀ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਰੋਕ ਕੇ ਹੋਰ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।

ਵਿੰਡੋਜ਼ 'ਤੇ ਡੌਕਰ ਬਿਲਡ ਮੁੱਦਿਆਂ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਹੱਲ ਕਰਨਾ

ਪਹਿਲਾਂ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨ ਵਾਲੀ ਇੱਕ ਖਾਸ ਚੁਣੌਤੀ ਨਾਲ ਨਜਿੱਠਦੀਆਂ ਹਨ: ਵਿੰਡੋਜ਼ 'ਤੇ ਅਸੰਗਤ ਫਾਈਲ ਮਾਰਗਾਂ ਅਤੇ ਮਾਊਂਟ ਕਿਸਮਾਂ ਦੇ ਕਾਰਨ ਡੌਕਰ ਬਿਲਡ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ। ਪਹਿਲੇ ਹੱਲ ਵਿੱਚ ਸਹੀ ਫਾਈਲ ਮਾਰਗਾਂ ਦਾ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਹਵਾਲਾ ਦੇਣ ਲਈ ਡੌਕਰ ਦੀ ਸੰਰਚਨਾ ਨੂੰ ਅਨੁਕੂਲ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਵਰਤ ਕੇ ਰਿਸ਼ਤੇਦਾਰਾਂ ਦੀ ਬਜਾਏ ਡੌਕਰ ਨੂੰ ਵਿੰਡੋਜ਼ ਦੇ ਮੂਲ ਮਾਰਗ ਫਾਰਮੈਟ ਦੁਆਰਾ ਹੋਣ ਵਾਲੀਆਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਤੋਂ ਬਚਣ ਲਈ, ਲਗਾਤਾਰ ਫਾਈਲਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹ ਛੋਟੀ ਵਿਵਸਥਾ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਡੌਕਰ ਬਿਲਡ ਮਾਰਗ ਜਾਂ ਮਾਊਂਟ ਮੁੱਦਿਆਂ ਦੇ ਕਾਰਨ ਅਸਫਲ ਹੁੰਦਾ ਹੈ.

ਪਾਈਥਨ-ਅਧਾਰਿਤ ਹੱਲ ਫਾਈਲ ਮਾਰਗਾਂ ਦੀ ਗਤੀਸ਼ੀਲ ਹੈਂਡਲਿੰਗ ਨੂੰ ਪੇਸ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਗਲਤੀ ਖੋਜ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਦਾ ਹੈ। ਪਾਈਥਨ ਦਾ ਲਾਭ ਉਠਾ ਕੇ ਮੋਡੀਊਲ, ਸਕ੍ਰਿਪਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਪਾਥ ਸਹੀ ਢੰਗ ਨਾਲ ਫਾਰਮੈਟ ਕੀਤੇ ਗਏ ਹਨ, ਇੱਥੋਂ ਤੱਕ ਕਿ ਮਿਸ਼ਰਤ ਵਾਤਾਵਰਨ ਵਿੱਚ ਵੀ। ਇਹ ਵਿਧੀ ਨਾ ਸਿਰਫ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦੀ ਹੈ ਬਲਕਿ 'ਡੌਕਰ ਬਿਲਡ' ਕਮਾਂਡ ਨੂੰ ਪ੍ਰੋਗਰਾਮੇਟਿਕ ਤੌਰ 'ਤੇ ਲਾਗੂ ਕਰਕੇ ਆਟੋਮੇਸ਼ਨ ਦੀ ਇੱਕ ਪਰਤ ਵੀ ਜੋੜਦੀ ਹੈ। ਇੱਕ ਅਸਲ-ਸੰਸਾਰ ਉਦਾਹਰਨ ਇੱਕ ਨਿਰੰਤਰ ਏਕੀਕਰਣ (CI) ਪਾਈਪਲਾਈਨ ਹੋਵੇਗੀ ਜਿੱਥੇ ਡੌਕਰ ਚਿੱਤਰ ਨਿਰਮਾਣ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾਉਣ ਲਈ ਗਤੀਸ਼ੀਲ ਮਾਰਗ ਵਿਵਸਥਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ. 🛠️

ਬੈਸ਼ ਸਕ੍ਰਿਪਟ ਆਟੋਮੇਸ਼ਨ ਅਤੇ ਮਜ਼ਬੂਤੀ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ। ਬਿਲਡ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਸਕ੍ਰਿਪਟ ਡੌਕਰਫਾਈਲ ਦੀ ਮੌਜੂਦਗੀ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਪੂਰਵ-ਲੋੜਾਂ ਪੂਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੈ ਜਿੱਥੇ ਟੀਮ ਦੇ ਕਈ ਮੈਂਬਰ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਯੋਗਦਾਨ ਪਾਉਂਦੇ ਹਨ, ਅਤੇ ਫਾਈਲਾਂ ਗਲਤੀ ਨਾਲ ਗਾਇਬ ਹੋ ਸਕਦੀਆਂ ਹਨ। 'ਐਗਜ਼ਿਟ 1' ਦੇ ਨਾਲ ਐਰਰ ਹੈਂਡਲਿੰਗ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਇੱਕ ਸੁਰੱਖਿਆ ਜਾਲ ਨੂੰ ਜੋੜਦਾ ਹੈ, ਜਦੋਂ ਗੰਭੀਰ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ ਤਾਂ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਰੋਕਦਾ ਹੈ। ਇੱਕ ਸਹਿਯੋਗੀ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਜਿਸ 'ਤੇ ਮੈਂ ਕੰਮ ਕੀਤਾ, ਅਜਿਹੀ ਸਕ੍ਰਿਪਟ ਨੇ ਇੱਕ ਗੁੰਮ ਹੋਈ ਡੌਕਰਫਾਈਲ ਨੂੰ ਜਲਦੀ ਫੜ ਕੇ ਇੱਕ ਵੱਡੀ ਦੇਰੀ ਨੂੰ ਰੋਕਿਆ। 🚀

ਅੰਤ ਵਿੱਚ, ਹੱਲ ਸਪਸ਼ਟਤਾ ਅਤੇ ਡਾਇਗਨੌਸਟਿਕ ਸਮਰੱਥਾ 'ਤੇ ਜ਼ੋਰ ਦਿੰਦੇ ਹਨ। `--progress=plain` ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵਰਬੋਜ਼ ਲੌਗਿੰਗ ਨੂੰ ਸ਼ਾਮਲ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਬਿਲਡ ਦੇ ਦੌਰਾਨ ਅਸਲ-ਸਮੇਂ ਵਿੱਚ ਸਮੱਸਿਆਵਾਂ ਦਾ ਪਤਾ ਲਗਾ ਸਕਦੇ ਹਨ। ਡੌਕਰ ਗਲਤੀਆਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਦੇ ਸਮੇਂ ਵੇਰਵੇ ਦਾ ਇਹ ਪੱਧਰ ਅਨਮੋਲ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਆਮ ਅਸਫਲਤਾ ਸੁਨੇਹਿਆਂ ਦੀ ਬਜਾਏ ਕਾਰਵਾਈਯੋਗ ਸੂਝ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। 'ਡੌਕਰ ਚਿੱਤਰ | ਵਰਗੀਆਂ ਕਮਾਂਡਾਂ ਨਾਲ ਜੋੜਿਆ ਗਿਆ grep`, ਡਿਵੈਲਪਰ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੀ ਸਫਲਤਾ ਨੂੰ ਤੁਰੰਤ ਪ੍ਰਮਾਣਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਭਾਵੇਂ ਤੁਸੀਂ ਇੱਕ ਤਜਰਬੇਕਾਰ ਡੌਕਰ ਉਪਭੋਗਤਾ ਹੋ ਜਾਂ ਇੱਕ ਨਵੇਂ ਆਏ, ਇਹ ਪਹੁੰਚ ਗੁੰਝਲਦਾਰ ਡੌਕਰ ਬਿਲਡ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਵਿਹਾਰਕ ਅਤੇ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਢੰਗ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।

Frontend Dockerfile.v0 ਨਾਲ ਡੌਕਰ ਬਿਲਡ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ

ਇਹ ਸਕ੍ਰਿਪਟ ਵਿੰਡੋਜ਼ 'ਤੇ ਡੌਕਰ ਦੀ ਸੰਰਚਨਾ ਨੂੰ ਐਡਜਸਟ ਕਰਕੇ, ਪਾਥ ਹੈਂਡਲਿੰਗ ਅਤੇ ਮਾਊਂਟ ਕਿਸਮਾਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਤ ਕਰਕੇ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਨ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦੀ ਹੈ।

# Step 1: Verify the Docker Desktop settings
# Ensure that the shared drives are properly configured.
# Open Docker Desktop -> Settings -> Resources -> File Sharing.
# Add the directory containing your Dockerfile if it's not listed.

# Step 2: Adjust the Dockerfile build context
FROM mcr.microsoft.com/windows/servercore:ltsc2019
WORKDIR /dataflex

# Step 3: Use a specific path configuration
# Command to build the Docker image with proper context
docker build --file Dockerfile --tag dataflex-20.1 .

# Step 4: Use verbose logging to detect hidden issues
docker build --file Dockerfile --tag dataflex-20.1 . --progress=plain

# Step 5: Update Docker to the latest version
# Run the command to ensure compatibility with recent updates
docker --version

ਵਿਕਲਪਕ ਹੱਲ: ਇੱਕ ਸਮਰਪਿਤ ਬੈਕਐਂਡ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣਾ

ਇਹ ਪਹੁੰਚ ਡੌਕਰ ਵਾਤਾਵਰਣ ਨੂੰ ਤਿਆਰ ਕਰਨ ਲਈ ਪਾਈਥਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਫਾਈਲ ਮਾਰਗਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਪ੍ਰਬੰਧਿਤ ਕਰਕੇ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਦੀ ਹੈ।

import os
import subprocess

# Step 1: Verify if Dockerfile exists in the current directory
dockerfile_path = "./Dockerfile"
if not os.path.exists(dockerfile_path):
    raise FileNotFoundError("Dockerfile not found in the current directory.")

# Step 2: Adjust path for Windows compatibility
dockerfile_path = os.path.abspath(dockerfile_path).replace("\\", "/")

# Step 3: Execute the Docker build command
command = f"docker build -t dataflex-20.1 -f {dockerfile_path} ."
process = subprocess.run(command, shell=True, capture_output=True)

# Step 4: Capture and display output or errors
if process.returncode != 0:
    print("Error building Docker image:")
    print(process.stderr.decode())
else:
    print("Docker image built successfully!")

ਬਿਲਡ ਆਟੋਮੇਸ਼ਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਨਾਲ ਹੱਲ

ਇਹ ਪਹੁੰਚ ਇੱਕ Bash ਸਕ੍ਰਿਪਟ ਅਤੇ ਡੌਕਰ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੌਕਰ ਬਿਲਡ ਦੀ ਜਾਂਚ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਦੀ ਹੈ।

#!/bin/bash

# Step 1: Check for Dockerfile existence
if [[ ! -f "Dockerfile" ]]; then
    echo "Dockerfile not found!"
    exit 1
fi

# Step 2: Execute Docker build with detailed output
docker build -t dataflex-20.1 . --progress=plain
if [[ $? -ne 0 ]]; then
    echo "Docker build failed!"
    exit 1
fi

# Step 3: Verify the image was created successfully
docker images | grep "dataflex-20.1"
if [[ $? -ne 0 ]]; then
    echo "Image not found after build!"
    exit 1
fi

echo "Docker image built and verified successfully!"

ਵਿੰਡੋਜ਼-ਵਿਸ਼ੇਸ਼ ਡੌਕਰ ਗਲਤੀਆਂ ਦਾ ਨਿਦਾਨ ਅਤੇ ਹੱਲ ਕਰਨਾ

ਵਿੰਡੋਜ਼ ਉੱਤੇ ਡੌਕਰ ਗਲਤੀਆਂ ਦਾ ਇੱਕ ਨਜ਼ਰਅੰਦਾਜ਼ ਪਹਿਲੂ ਇਹ ਹੈ ਕਿ ਕਿਵੇਂ ਫਾਈਲ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਮਾਊਂਟਿੰਗ ਸਿਸਟਮ ਦੂਜੇ ਪਲੇਟਫਾਰਮਾਂ ਤੋਂ ਵੱਖਰਾ ਹੈ। ਡੌਕਰ ਹੋਸਟ ਫਾਈਲ ਸਿਸਟਮ ਨੂੰ ਕੰਟੇਨਰਾਂ ਨਾਲ ਜੋੜਨ ਲਈ ਮਾਊਂਟਸ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਪਰ ਵਿੰਡੋਜ਼ ਯੂਨਿਕਸ-ਅਧਾਰਿਤ ਸਿਸਟਮਾਂ ਦੇ ਮੁਕਾਬਲੇ ਇਹਨਾਂ ਮਾਰਗਾਂ ਨੂੰ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਵਰਤਦਾ ਹੈ। ਇਹ ਅੰਤਰ ਅਕਸਰ ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ "ਅਵੈਧ ਵਿੰਡੋਜ਼ ਮਾਊਂਟ ਕਿਸਮ" ਸੁਨੇਹਾ, ਜਦੋਂ ਡੌਕਰ ਮਾਰਗਾਂ ਜਾਂ ਮਾਊਂਟ ਕਿਸਮਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਕਿਰਿਆ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਲੋੜੀਂਦੀਆਂ ਡਾਇਰੈਕਟਰੀਆਂ ਪਹੁੰਚਯੋਗ ਹਨ, ਡੌਕਰ ਡੈਸਕਟੌਪ ਵਿੱਚ ਫਾਈਲ ਸ਼ੇਅਰਿੰਗ ਸੈਟਿੰਗਾਂ ਦੀ ਪੁਸ਼ਟੀ ਅਤੇ ਸੰਰਚਨਾ ਕਰਨਾ ਇੱਕ ਆਮ ਹੱਲ ਹੈ।

ਵਿਚਾਰ ਕਰਨ ਲਈ ਇਕ ਹੋਰ ਪਹਿਲੂ ਹੈ ਵਿਚਕਾਰ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ ਅਤੇ ਖਾਸ ਅਧਾਰ ਚਿੱਤਰ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ। ਉਦਾਹਰਣ ਦੇ ਲਈ, ਜਦੋਂ ਇੱਕ ਵਿੰਡੋਜ਼ ਸਰਵਰ ਕੋਰ ਚਿੱਤਰ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹੋ, ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਕਿ ਉਹਨਾਂ ਦਾ ਡੌਕਰ ਸੰਸਕਰਣ ਸਹੀ ਚਿੱਤਰ ਸੰਸਕਰਣ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਪੁਰਾਣੇ ਜਾਂ ਬੇਮੇਲ ਡੌਕਰ ਸੰਸਕਰਣ ਮਾਊਂਟਿੰਗ ਜਾਂ ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਨੂੰ ਟਰਿੱਗਰ ਕਰ ਸਕਦੇ ਹਨ, ਕਿਉਂਕਿ ਡੌਕਰ ਕੰਪੋਨੈਂਟਸ ਅਤੇ ਅੰਡਰਲਾਈੰਗ OS ਵਿਚਕਾਰ ਅਨੁਕੂਲਤਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਹਮੇਸ਼ਾ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ ਡੌਕਰ ਡੈਸਕਟਾਪ ਨਵੀਨਤਮ ਸਥਿਰ ਰੀਲੀਜ਼ ਲਈ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ।

ਅੰਤ ਵਿੱਚ, ਇਸ ਤਰ੍ਹਾਂ ਦੀਆਂ ਗਲਤੀਆਂ ਕਈ ਵਾਰੀ ਨਤੀਜੇ ਵਜੋਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਕਿ ਕਿਵੇਂ ਡੌਕਰ ਐਂਟੀਵਾਇਰਸ ਸੌਫਟਵੇਅਰ ਜਾਂ ਸਿਸਟਮ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਨਾਲ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਪਾਉਂਦਾ ਹੈ। ਕੁਝ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ, ਐਂਟੀਵਾਇਰਸ ਟੂਲ ਖਾਸ ਫਾਈਲਾਂ ਜਾਂ ਡਾਇਰੈਕਟਰੀਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਡੌਕਰ ਦੀ ਕੋਸ਼ਿਸ਼ ਨੂੰ ਰੋਕ ਸਕਦੇ ਹਨ। ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਐਂਟੀਵਾਇਰਸ ਸੌਫਟਵੇਅਰ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣਾ ਜਾਂ ਭਰੋਸੇਯੋਗ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਡੌਕਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਇਸ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰ ਸਕਦਾ ਹੈ। ਮੇਰੇ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ, ਸਾਡੇ ਕਾਰਪੋਰੇਟ ਐਨਟਿਵ਼ਾਇਰਅਸ ਵਿੱਚ ਇੱਕ ਸਧਾਰਣ ਵ੍ਹਾਈਟਲਿਸਟ ਜੋੜਨ ਨੇ ਹੱਲ ਕੀਤਾ ਜੋ ਇੱਕ ਅਦੁੱਤੀ ਡੌਕਰ ਗਲਤੀ ਵਾਂਗ ਜਾਪਦਾ ਸੀ। 🛠️

  1. "ਅਵੈਧ ਵਿੰਡੋਜ਼ ਮਾਊਂਟ ਕਿਸਮ" ਗਲਤੀ ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
  2. ਇਹ ਗਲਤੀ ਅਕਸਰ ਡੌਕਰ ਡੈਸਕਟਾਪ ਵਿੱਚ ਮੇਲ ਖਾਂਦੇ ਫਾਈਲ ਪਾਥ ਫਾਰਮੈਟਾਂ ਜਾਂ ਗਲਤ ਫਾਈਲ ਸ਼ੇਅਰਿੰਗ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਕਾਰਨ ਹੁੰਦੀ ਹੈ।
  3. ਮੈਂ ਡੌਕਰ ਡੈਸਕਟੌਪ ਫਾਈਲ ਸ਼ੇਅਰਿੰਗ ਸੈਟਿੰਗਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਿਵੇਂ ਕਰ ਸਕਦਾ ਹਾਂ?
  4. ਡੌਕਰ ਡੈਸਕਟਾਪ ਖੋਲ੍ਹੋ, 'ਤੇ ਜਾਓ , ਫਿਰ ਨੈਵੀਗੇਟ ਕਰੋ , ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੀ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਸਾਂਝੀ ਕੀਤੀ ਗਈ ਹੈ।
  5. ਮੇਰੀ ਡੌਕਰਫਾਈਲ ਸਹੀ ਲੱਗਣ ਦੇ ਬਾਵਜੂਦ ਮੇਰਾ ਡੌਕਰ ਬਿਲਡ ਅਸਫਲ ਕਿਉਂ ਹੁੰਦਾ ਹੈ?
  6. ਗਲਤ ਸੰਦਰਭ ਸੈੱਟਅੱਪ ਦੇ ਕਾਰਨ ਬਿਲਡ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ। ਵਰਤੋ ਸਹੀ ਡੌਕਰਫਾਈਲ ਮਾਰਗ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ.
  7. ਮੈਂ ਇਹ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾਵਾਂ ਕਿ ਮੇਰਾ ਡੌਕਰ ਸੰਸਕਰਣ ਮੇਰੀ ਬੇਸ ਚਿੱਤਰ ਦੇ ਅਨੁਕੂਲ ਹੈ?
  8. ਚਲਾਓ ਆਪਣੇ ਡੌਕਰ ਸੰਸਕਰਣ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਅਤੇ ਇਸਦੀ ਤੁਲਨਾ ਡੌਕਰ ਹੱਬ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਸੂਚੀਬੱਧ ਬੇਸ ਚਿੱਤਰ ਲੋੜਾਂ ਨਾਲ ਕਰੋ।
  9. ਕੀ ਐਂਟੀਵਾਇਰਸ ਸੌਫਟਵੇਅਰ ਡੌਕਰ ਬਿਲਡ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ?
  10. ਹਾਂ, ਐਂਟੀਵਾਇਰਸ ਪ੍ਰੋਗਰਾਮ ਡੌਕਰ ਨੂੰ ਲੋੜੀਂਦੀਆਂ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਰੋਕ ਸਕਦੇ ਹਨ। ਡੌਕਰ ਨੂੰ ਭਰੋਸੇਯੋਗ ਐਪਲੀਕੇਸ਼ਨ ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ ਜਾਂ ਟੈਸਟ ਕਰਨ ਲਈ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਐਂਟੀਵਾਇਰਸ ਸੌਫਟਵੇਅਰ ਨੂੰ ਅਸਮਰੱਥ ਕਰੋ।

ਵਿੰਡੋਜ਼ 'ਤੇ ਡੌਕਰ ਬਿਲਡ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਫਾਈਲ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਮਾਰਗ ਅਨੁਕੂਲਤਾ ਦੀਆਂ ਬਾਰੀਕੀਆਂ ਨੂੰ ਸਮਝਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਡੌਕਰ ਡੈਸਕਟੌਪ ਕੌਂਫਿਗਰੇਸ਼ਨਾਂ ਨੂੰ ਐਡਜਸਟ ਕਰਨ ਅਤੇ ਫਾਈਲ ਮਾਰਗਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਵਰਗੇ ਤਰੀਕਿਆਂ ਦਾ ਲਾਭ ਲੈ ਕੇ, ਡਿਵੈਲਪਰ ਆਮ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਦੂਰ ਕਰ ਸਕਦੇ ਹਨ। ਅਸਲ-ਸੰਸਾਰ ਦੀਆਂ ਉਦਾਹਰਨਾਂ, ਜਿਵੇਂ ਕਿ ਐਂਟੀਵਾਇਰਸ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਡੌਕਰ ਨੂੰ ਵ੍ਹਾਈਟਲਿਸਟ ਕਰਨਾ, ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਛੋਟੇ ਸਮਾਯੋਜਨਾਂ ਦਾ ਮਹੱਤਵਪੂਰਨ ਪ੍ਰਭਾਵ ਕਿਵੇਂ ਹੋ ਸਕਦਾ ਹੈ। 🚀

ਇਹ ਰਣਨੀਤੀਆਂ ਨਾ ਸਿਰਫ਼ ਖਾਸ ਤਰੁਟੀਆਂ ਨੂੰ ਠੀਕ ਕਰਦੀਆਂ ਹਨ ਸਗੋਂ ਸਮੁੱਚੇ ਵਰਕਫਲੋ ਕੁਸ਼ਲਤਾ ਨੂੰ ਵੀ ਵਧਾਉਂਦੀਆਂ ਹਨ। ਆਟੋਮੇਸ਼ਨ ਸਕ੍ਰਿਪਟਾਂ ਅਤੇ ਡਾਇਗਨੌਸਟਿਕ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਨਿਰਵਿਘਨ ਨਿਰਮਾਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ, ਡਾਊਨਟਾਈਮ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਉਤਪਾਦਕਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਚੁਣੌਤੀਆਂ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨਾ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਡੌਕਰ ਨਾਲ ਭਰੋਸੇ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਇੱਥੋਂ ਤੱਕ ਕਿ ਗੁੰਝਲਦਾਰ ਸੰਰਚਨਾਵਾਂ ਵਾਲੇ ਵਿੰਡੋਜ਼ ਵਾਤਾਵਰਨ ਵਿੱਚ ਵੀ।

  1. ਡੌਕਰਫਾਈਲ ਵਰਤੋਂ ਅਤੇ ਸੰਰਚਨਾ ਬਾਰੇ ਵੇਰਵੇ ਅਧਿਕਾਰਤ ਡੌਕਰ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੇ ਗਏ ਸਨ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, 'ਤੇ ਜਾਓ ਡੌਕਰਫਾਈਲ ਹਵਾਲਾ .
  2. ਵਿੰਡੋਜ਼-ਵਿਸ਼ੇਸ਼ ਡੌਕਰ ਗਲਤੀਆਂ ਦੇ ਨਿਪਟਾਰੇ ਲਈ ਇੱਕ ਡਿਵੈਲਪਰ ਕਮਿਊਨਿਟੀ ਫੋਰਮ ਤੋਂ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਸੀ। 'ਤੇ ਹੋਰ ਜਾਣੋ ਸਟੈਕ ਓਵਰਫਲੋ: ਡੌਕਰ ਟੈਗ .
  3. ਵਿੰਡੋਜ਼ ਲਈ ਡੌਕਰ ਡੈਸਕਟੌਪ ਵਿੱਚ ਫਾਈਲ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਮਾਊਂਟ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਮਾਰਗਦਰਸ਼ਨ ਇਸ ਸਰੋਤ ਤੋਂ ਅਪਣਾਇਆ ਗਿਆ ਸੀ: ਵਿੰਡੋਜ਼ ਲਈ ਡੌਕਰ ਡੈਸਕਟਾਪ .
  4. ਵਿਹਾਰਕ ਉਦਾਹਰਣਾਂ ਅਤੇ ਸਕ੍ਰਿਪਟਿੰਗ ਤਕਨੀਕਾਂ ਨੂੰ ਆਟੋਮੇਟਿੰਗ ਡੌਕਰ ਬਿਲਡਜ਼ 'ਤੇ ਬਲੌਗ ਪੋਸਟ ਦੁਆਰਾ ਪ੍ਰੇਰਿਤ ਕੀਤਾ ਗਿਆ ਸੀ। 'ਤੇ ਪੂਰਾ ਲੇਖ ਪੜ੍ਹੋ ਡੌਕਰ ਮੀਡੀਅਮ ਬਲੌਗ .