ਨੋਡ.ਜੇਡਜ਼ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ ਡੌਕਰ ਨਾਲ ਸ਼ੁਰੂਆਤ: ਇਸ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ?
ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਸ਼ੁਰੂ ਕਰਨਾ ਹਮੇਸ਼ਾਂ ਦਿਲਚਸਪ ਹੁੰਦਾ ਹੈ, ਪਰ ਮਿਸ਼ਰਣ ਨੂੰ ਡੌਕਿੰਗ ਜੋੜਨਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮਹਿਸੂਸ ਕਰ ਸਕਦਾ ਹੈ. A ਇੱਕ ਸ਼ੁਰੂਆਤੀ ਹੋਣ ਦੇ ਨਾਤੇ, ਤੁਸੀਂ ਹੈਰਾਨ ਹੋਵੋਗੇ ਕਿ ਕੀ ਸ਼ੁਰੂ ਤੋਂ ਡੌਕਕਰ ਨਾਲ ਸਭ ਕੁਝ ਸਥਾਪਤ ਕਰਨਾ ਹੈ ਜਾਂ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਕੌਂਫਿਗਰ ਕਰਨਾ ਹੈ. ਇਹ ਸਵਾਲ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਇਹ ਤੁਹਾਡੇ ਵਰਕਫਲੋ, ਸਿੱਖਣ ਦੇ ਕਰਵ, ਅਤੇ ਡੀਬੱਗਿੰਗ ਤਜ਼ਰਬੇ ਨੂੰ ਪ੍ਰਭਾਵਤ ਕਰਦਾ ਹੈ.
ਡੌਕਰ ਇਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸੰਦ ਹੈ ਜੋ ਤਾਇਨਾਤੀ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ, ਪਰ ਇਹ ਪੇਚੀਦਗੀ ਵੀ ਪੇਸ਼ ਕਰਦਾ ਹੈ. ਜੇ ਤੁਸੀਂ ਅਜੇ ਵੀ ਤਕਨਾਲੋਜੀਆਂ ਨਾਲ ਆਰਾਮਦਾਇਕ ਹੋ ਰਹੇ ਹੋ ਨੋਡ.ਜੇ.ਐੱਸ, ਐਕਸਪ੍ਰੈਸ, ਗੋਡੇ, ਅਤੇ ਪੋਸਟਗਰੇਸਕੈਲ, ਇਸ ਤੋਂ ਬਿਨਾਂ ਸ਼ੁਰੂ ਕਰਨਾ ਸੌਖਾ ਲੱਗਦਾ ਹੈ. ਹਾਲਾਂਕਿ, ਦੇਰੀ ਕਰਨ ਵਾਲੇ ਡੌਕਰ ਏਕੀਕਰਣ ਬਾਅਦ ਵਿੱਚ ਮਾਈਗ੍ਰੇਸ਼ਨ ਦੇ ਮੁੱਦਿਆਂ ਨੂੰ ਲੈ ਜਾ ਸਕਦੀ ਹੈ.
ਇਸ ਨੂੰ ਡਰਾਈਵਿੰਗ ਕਰਨਾ ਸਿੱਖਣਾ ਪਸੰਦ ਕਰੋ. 🚗 ਕੁਝ ਮੈਨੂਅਲ ਟ੍ਰਾਂਸਮਿਸ਼ਨ (ਡੌਕਰ) ਵਿੱਚ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਆਟੋਮੈਟਿਕ ਕਾਰ (ਸਥਾਨਕ ਸੈਟਅਪ) ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰਨਾ ਪਸੰਦ ਕਰਦੇ ਹਨ. ਦੂਸਰੇ ਡੂੰਘੇ ਅੰਤ ਵਿੱਚ ਗੋਤਾਏ. ਸਹੀ ਪਹੁੰਚ ਚੁਣਨਾ ਤੁਹਾਡੇ ਆਰਾਮ ਦੇ ਪੱਧਰ ਅਤੇ ਪ੍ਰਾਜੈਕਟ ਜ਼ਰੂਰਤਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ.
ਇਸ ਲੇਖ ਵਿਚ, ਅਸੀਂ ਦੋਵੇਂ ਵਿਕਲਪਾਂ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ: ਦਿਨ ਤੋਂ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਬਨਾਮ ਦਾ ਵਿਕਾਸ ਕਰਨਾ. ਅੰਤ ਦੇ ਅਨੁਸਾਰ, ਤੁਹਾਡੇ ਕੋਲ ਤੁਹਾਡੀ ਸਥਿਤੀ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਕੰਮ ਕਰਨ ਦੀ ਸਪਸ਼ਟ ਸਮਝ ਹੋਵੇਗੀ.
| ਕਮਾਂਡ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਣ |
|---|---|
| WORKDIR /app | ਡੌਕ ਡਾਂਸਟਰ ਦੇ ਅੰਦਰ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਪਰਿਭਾਸ਼ਤ ਕਰਦਾ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਇਸ ਸਥਾਨ ਤੇ ਸਾਰੇ ਕਮਾਂਡਾਂ ਚੱਲਦੀਆਂ ਹਨ. |
| COPY package.json package-lock.json ./ | ਡੌਕਰ ਬਿਲਡ ਕੈਚਿੰਗ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਲਈ ਨਿਰਭਰਤਾ ਸਥਾਪਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਕਾਪੀ ਕਰਦਾ ਹੈ. |
| EXPOSE 3000 | ਡੌਕਕਰ ਨੂੰ ਸੂਚਿਤ ਕਰੋ ਕਿ ਕੰਟੇਨਰ ਪੋਰਟ 3000 ਤੇ ਸੁਣੇਗਾ, ਬਾਹਰੀ ਬੇਨਤੀਆਂ ਲਈ ਪਹੁੰਚਯੋਗ ਬਣਾਉਂਦਾ ਹੈ. |
| CMD ["node", "server.js"] | ਕੰਟੇਨਰ ਚਾਲੂ ਹੋਣ ਤੇ ਨੋਡ.ਜੇਸ ਸਰਵਰ ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ ਦਰਸਾਉਂਦਾ ਹੈ. |
| restart: always | ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਜੇ ਕੰਟੇਨਰ ਅਚਾਨਕ ਰੁਕ ਜਾਂਦਾ ਹੈ ਤਾਂ ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਸੇਵਾ ਆਪਣੇ ਆਪ ਮੁੜ ਚਾਲੂ ਹੁੰਦੀ ਹੈ. |
| supertest | ਨੋਡ.ਜੇਸ ਵਿੱਚ HTTP ਸਰਵਰਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ, ਏਸੀਆਈ ਦੇ ਅੰਤ ਨੂੰ ਸਰਵਰ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਬਿਨਾਂ ਜਾਂਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ. |
| expect(res.statusCode).toBe(200); | ਏਪੀਆਈ ਬੇਨਤੀ ਤੋਂ HTTP ਜਵਾਬ ਸਥਿਤੀ ਕੋਡ 200 (ਠੀਕ ਹੈ) ਹੈ. |
| POSTGRES_USER: user | ਡਾਕ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਡੇਟਾਬੇਸ ਲਈ ਉਪਯੋਗਕਰਤਾ ਨਾਮ ਪਰਿਭਾਸ਼ਤ ਕਰਦਾ ਹੈ. |
| POSTGRES_PASSWORD: password | PostgreSQL ਡਾਟਾਬੇਸ ਲਈ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰਦਾ ਹੈ, ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਲੋੜੀਂਦਾ. |
| ports: - "5432:5432" | ਕੰਟੇਨਰ ਦੇ ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਪੋਰਟ (5432) ਨੂੰ ਹੋਸਟ ਮਸ਼ੀਨ ਤੋਂ ਪੋਰਟ ਤੇ ਭੇਜਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਡਾਟਾਬੇਸ ਨੂੰ ਪਹੁੰਚਯੋਗ ਬਣਾਉਂਦੇ ਹਨ. |
ਡੌਕਰ ਨਾਲ ਇੱਕ ਸਕੇਲੇਬਲ ਨੋਡ. ਜੇ ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਉਣਾ
ਜਦੋਂ ਇੱਕ ਸੈਟ ਅਪ ਕਰਨਾ ਨੋਡ.ਜੇ.ਐੱਸ ਡੌਕਰ ਨਾਲ ਐਪਲੀਕੇਸ਼ਨ, ਅਸੀਂ ਇੱਕ ਡੌਕਰਫਾਈਲ ਦੀ ਪਰਿਭਾਸ਼ਾ ਦੇ ਕੇ ਅਰੰਭ ਕਰਦੇ ਹਾਂ. ਇਹ ਫਾਈਲ ਉਹ ਵਾਤਾਵਰਣ ਦੱਸਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਸਾਡੀ ਐਪ ਚਲਾਈ ਜਾਏਗੀ. ਵਰਕਡੀਰ / ਐਪ ਕਮਾਂਡ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਸਾਰੇ ਤੋਂ ਬਾਅਦ ਦੇ ਕੰਮ ਨਿਰਧਾਰਤ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅੰਦਰ, ਫਾਈਲ ਪਾਥ ਦੇ ਮੁੱਦਿਆਂ ਨੂੰ ਰੋਕਦੇ ਹਨ. ਸਿਰਫ ਨਕਲ ਕਰਕੇ ਪੈਕੇਜ.ਸਸਨ ਨਿਰਭਰਤਾ ਸਥਾਪਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਅਸੀਂ ਬਿਲਡ ਕੈਚਿੰਗ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਂਦੇ ਹਾਂ, ਤੇਜ਼ੀ ਨਾਲ ਕੰਟੇਨਰ ਰਚਨਾ ਕਰਦੇ ਹਾਂ. ਅੰਤਮ ਕਦਮ ਪੋਰਟ 3000 ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰ ਰਿਹਾ ਹੈ ਅਤੇ ਸਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਚਲਾ ਰਿਹਾ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਬਾਹਰੀ ਬੇਨਤੀਆਂ ਸਰਵਰ ਤੇ ਪਹੁੰਚ ਸਕਦੀਆਂ ਹਨ. 🚀
ਪੈਰਲਲ ਵਿੱਚ, ਡੋਕਰ-ਕੰਪੋਜ਼.ਯੂਐਲਐਮਐਲ ਕੰਟੇਨਰ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ. ਇੱਥੇ, ਅਸੀਂ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੇ ਨਾਲ ਇੱਕ ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਸੇਵਾ ਨੂੰ ਪਰਿਭਾਸ਼ਤ ਕਰਦੇ ਹਾਂ ਜਿਵੇਂ ਕਿ ਪੋਸਟਗਰੇਸ_ਯੂਸਰ ਅਤੇ ਪੋਸਟਗਰੇਸ_ਪਾਸਵਰਡ. ਇਹ ਪ੍ਰਮਾਣ ਪੱਤਰ ਸੁਰੱਖਿਅਤ ਡਾਟਾਬੇਸ ਐਕਸੈਸ ਨੂੰ ਸਮਰੱਥ ਕਰਦੇ ਹਨ. ਰੀਸਟਾਰਟ: ਹਮੇਸ਼ਾਂ ਨਿਰਦੇਸ਼ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸਿਸਟਮ ਭਰੋਸੇਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਹੋਇਆ ਹੈ, ਆਪਣੇ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਮੁੜ ਚਾਲੂ ਕਰਦਾ ਹੈ. ਪੋਰਟ ਮੈਪਿੰਗ "5432: 5432" ਡਾਟਾਬੇਸ ਨੂੰ ਹੋਸਟ ਮਸ਼ੀਨ ਤੋਂ ਪਹੁੰਚਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਜੋ ਸਥਾਨਕ ਵਿਕਾਸ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ.
ਕਿਉਂਕਿ ਉਹ ਹੌਲੀ ਹੌਲੀ ਪਹੁੰਚ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ, ਡੌਕਿੰਗ ਡੌਕੇਰ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੈਨਲਕੇ ਅਤੇ ਡੇਟਾਬੇਸ ਸਥਾਪਤ ਕਰਨਾ ਲਾਭਕਾਰੀ ਹੋ ਸਕਦਾ ਹੈ. ਹੱਥੀਂ ਨਿਰਭਰਤਾ ਸਥਾਪਤ ਕਰਕੇ ਅਤੇ ਇੱਕ ਬਣਾਉਣਾ ਐਕਸਪ੍ਰੈਸ ਸਰਵਰ, ਡਿਵੈਲਪਰਾਂ ਨੇ ਉਨ੍ਹਾਂ ਦੇ ਅਰਜ਼ੀ ਦੇ architect ਾਂਚੇ ਦੀ ਸਪਸ਼ਟ ਸਮਝ ਪ੍ਰਾਪਤ ਕੀਤੀ. ਏਪੀਆਈ ਦਾ ਮੁੱ basic ਲਾ ਅੰਤ ਬਿੰਦੂ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਸਹੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ. ਇੱਕ ਵਾਰ ਐਪ ਅਸਾਨੀ ਨਾਲ ਚੱਲਣ ਤੋਂ ਬਾਅਦ, ਡੌਕਰ ਨੂੰ ਪ੍ਰਤਿਭਾਵਾਨ, ਗੁੰਝਲਤਾ ਨੂੰ ਘੱਟ ਤੋਂ ਘੱਟ ਕਰਨ ਲਈ ਕਦਮ ਦਰਸਾਇਆ ਜਾ ਸਕਦਾ ਹੈ. ਇਹ ਡੂੰਘੇ ਅੰਤ ਵਿੱਚ ਗੋਤਾਖੋਰੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਉੱਲੀ ਪੂਲ ਵਿੱਚ ਤੈਰਾਕੀ ਕਰਨਾ ਸਿੱਖਣਾ ਪਸੰਦ ਕਰਦਾ ਹੈ. 🏊♂️
ਅੰਤ ਵਿੱਚ, ਟੈਸਟਿੰਗ ਭਰੋਸੇਯੋਗਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ. ਦੀ ਵਰਤੋਂ Jest ਅਤੇ ਕੱਟ, ਅਸੀਂ ਪੂਰੇ ਸਰਵਰ ਨੂੰ ਲਾਂਚ ਕੀਤੇ ਬਿਨਾਂ ਏਪੀਆਈ ਅੰਤ ਦੇ ਨਕਸ਼ਿਆਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦੇ ਹਾਂ. HTTP ਜਵਾਬਾਂ ਦੀ ਜਾਂਚ ਕਰਕੇ, ਅਸੀਂ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਾਂ ਕਿ ਅਨੁਮਾਨਤ ਆਉਟਪੁੱਟ ਅਸਲ ਨਤੀਜਿਆਂ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ. ਇਹ ਵਿਧੀ ਦੇ ਮੁੱਦਿਆਂ ਨੂੰ ਉਤਪਾਦਨ ਵਿੱਚ ਫੈਲਣ ਤੋਂ ਰੋਕਦੀ ਹੈ, ਐਪਲੀਕੇਸ਼ਨ ਸਥਿਰਤਾ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ. ਭਾਵੇਂ ਡੌਕਰ ਨਾਲ ਸ਼ੁਰੂ ਹੋ ਰਹੇ ਹਨ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਇਸ ਨੂੰ ਜੋੜਨਾ, ਮਾਡਰਨਿਟੀ, ਸੁਰੱਖਿਆ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਅਤੇ ਸਕੇਲੇਬਿਲਟੀ ਨੂੰ ਵਧੇਰੇ ਮਜਬੂਤ ਵਿਕਾਸ ਕਾਰਜਾਂ ਵਿੱਚ ਰੋਕ ਲਗਾਉਂਦੇ ਹਨ.
ਸਟਾਰਟ ਤੋਂ ਡੌਕਰ ਨਾਲ ਇੱਕ ਨੋਡ.ਜੇਡਸ ਬੈਕਐਂਡ ਸਥਾਪਤ ਕਰਨਾ
ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਦੇ ਨਾਲ ਨੋਡ.ਜੇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕੰਟੇਰੀਕਰਨ ਕਰਨ ਲਈ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
# Dockerfile for Node.js backendFROM node:18WORKDIR /appCOPY package.json package-lock.json ./RUN npm installCOPY . .EXPOSE 3000CMD ["node", "server.js"]
# docker-compose.yml to manage servicesversion: "3.8"services:db:image: postgresrestart: alwaysenvironment:POSTGRES_USER: userPOSTGRES_PASSWORD: passwordPOSTGRES_DB: mydatabaseports:- "5432:5432"
ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਪਹਿਲਾਂ ਦਾ ਵਿਕਾਸ ਕਰਨਾ ਅਤੇ ਬਾਅਦ ਵਿਚ ਡੌਕਿੰਗ ਸ਼ਾਮਲ ਕਰਨਾ
ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਟਰੇਟਰਾਈਜ਼ੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਨੋਡ.ਜਸ ਅਤੇ ਪੋਸਟਗਰੇਸਕੈਲ ਸਥਾਪਤ ਕਰਨਾ
// Install dependenciesnpm init -ynpm install express knex pg
// server.js: Express API setupconst express = require('express');const app = express();app.use(express.json());app.get('/', (req, res) => res.send('API Running'));app.listen(3000, () => console.log('Server running on port 3000'));
ਯੂਨਿਟ ਨੂੰ ਪ੍ਰੀਸਿੰਗ
ਪ੍ਰੈਸ ਏਪੀਆਈ ਨੂੰ ਮਜ਼ਾਕ ਨਾਲ ਟੈਸਟ ਕਰਨਾ
// Install Jest for testingnpm install --save-dev jest supertest
// test/app.test.jsconst request = require('supertest');const app = require('../server');test('GET / should return API Running', async () => {const res = await request(app).get('/');expect(res.statusCode).toBe(200);expect(res.text).toBe('API Running');});
ਵਿਕਾਸ ਅਤੇ ਉਤਪਾਦਨ ਲਈ ਡੌਕਿੰਗ ਡੌਕਿੰਗ: ਇੱਕ ਰਣਨੀਤਕ ਪਹੁੰਚ
ਇਕ ਮਹੱਤਵਪੂਰਣ ਵਿਚਾਰ ਜਦੋਂ ਵਰਤਦਾ ਹੈ ਡੋਕਰ ਵਿੱਚ ਇੱਕ ਨੋਡ.ਜੇ.ਐੱਸ ਪ੍ਰੋਜੈਕਟ ਇਹ ਹੈ ਕਿ ਕਿਵੇਂ ਵਾਤਾਵਰਣ ਦੇ ਉਤਪਾਦਨ ਦੇ ਉਤਪਾਦਨ ਨੂੰ ਸੰਭਾਲਣਾ ਹੈ. ਵਿਕਾਸ ਵਿੱਚ, ਤੁਸੀਂ ਡੱਬੇ ਨੂੰ ਮੁੜ ਬਣਾਏ ਬਿਨਾਂ ਲਾਈਵ ਕੋਡ ਅਪਡੇਟਾਂ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਲਾਈਵ ਕੋਡ ਅਪਡੇਟਾਂ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਆਪਣੇ ਸਰੋਤ ਕੋਡ ਨੂੰ ਮਾ ount ਟ ਕਰ ਸਕਦੇ ਹੋ. ਇਹ ਵਰਕਫਲੋ ਨਿਰਵਿਘਨ ਅਤੇ ਕੁਸ਼ਲ ਰੱਖਦਾ ਹੈ. ਇਸਦੇ ਉਲਟ, ਉਤਪਾਦਨ ਲਈ, ਇੱਕ ਸਥਿਰ ਡੌਕਰ ਚਿੱਤਰ ਬਣਾਉਣਾ ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ ਜਿਸ ਵਿੱਚ ਕਾਰਜਕੁਸ਼ਲਤਾ ਅਤੇ ਸੁਰੱਖਿਆ ਵਿੱਚ ਸੁਧਾਰ ਲਈ ਜਾਇਦਾਦ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ. 🚀
ਇਕ ਹੋਰ ਮਹੱਤਵਪੂਰਣ ਪਹਿਲੂ ਡੌਕਰ ਦੇ ਅੰਦਰ ਡਾਟਾਬੇਸ ਪ੍ਰਬੰਧਨ ਹੈ. ਚੱਲਦੇ ਸਮੇਂ ਪੋਸਟਗਰੇਸਕੈਲ ਕੰਟੇਨਰ ਵਿੱਚ ਸੁਵਿਧਾਜਨਕ ਹੈ, ਅੰਕ ਦ੍ਰਿੜਤਾ ਨੂੰ ਵਿਚਾਰਿਆ ਜਾਣਾ ਲਾਜ਼ਮੀ ਹੈ. ਮੂਲ ਰੂਪ ਵਿੱਚ, ਕੰਟੇਨਰਾਈਜ਼ਡ ਡੇਟਾਬੇਸ ਡੇਟਾ ਨੂੰ ਗੁਆ ਦਿੰਦੇ ਹਨ ਜਦੋਂ ਕੰਟੇਨਰ ਰੁਕ ਜਾਂਦਾ ਹੈ. ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਡੌਕਕਰ ਵਾਲੀਅਮ ਦੀ ਵਰਤੋਂ ਡੈਟਾਬੇਸ ਤੋਂ ਬਾਹਰ ਡਾਟਾਬੇਸ ਫਾਈਲਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਜਦੋਂ ਕੰਟੇਨਰ ਦੁਬਾਰਾ ਚਾਲੂ ਹੋਵੇ ਤਾਂ ਵੀ ਡੇਟਾ ਬਰਕਰਾਰ ਰਹਿੰਦਾ ਹੈ. ਇੱਕ ਚੰਗਾ ਅਭਿਆਸ ਹੈ ਪੋਸਟਗ੍ਰੈਸਕਯੂਐਲ ਡੇਟਾ ਲਈ ਇੱਕ ਵੱਖਰਾ ਵਾਲੀਅਮ ਬਣਾਉਣਾ ਅਤੇ ਇਸਨੂੰ ਡੇਟਾਬੇਸ ਸਰਵਿਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਮਾ .ਂਟ ਕਰਨਾ.
ਅੰਤ ਵਿੱਚ, ਡੌਕਰ ਵਿੱਚ ਸੇਵਾਵਾਂ ਦੇ ਵਿਚਕਾਰ ਨੈਟਵਰਕਿੰਗ ਇੱਕ ਅਜਿਹਾ ਖੇਤਰ ਹੈ ਜੋ ਅਕਸਰ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਭੜਕਾਉਂਦਾ ਹੈ. ਰਵਾਇਤੀ IP ਐਡਰੈੱਸ ਵਰਤਣ ਦੀ ਬਜਾਏ ਸੇਵਾ ਸੰਬੰਧਾਂ ਦੇ ਉਪਦੇਸ਼ ਦੁਆਰਾ ਸੇਵਾ ਦੀ ਸੇਵਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ. ਉਦਾਹਰਣ ਲਈ, ਇੱਕ ਨੋਡ.ਜਸ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਅੰਦਰ, ਡਾਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਸਤਰ ਇਸਤੇਮਾਲ ਕਰ ਸਕਦੀ ਹੈ postgres://user:password@db:5432/mydatabase ਜਿੱਥੇ "db" ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਸੇਵਾ ਨੂੰ ਪਰਿਭਾਸ਼ਤ ਕਰਨ ਲਈ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ docker-compose.yml. ਇਹ ਹਾਰਡਕੋਡ ਆਈਪੀ ਐਡਰੈਸ ਦੀ ਜ਼ਰੂਰਤ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ ਅਤੇ ਤੈਨਾਤੀ ਨੂੰ ਵਧੇਰੇ ਲਚਕਦਾਰ ਬਣਾਉਂਦਾ ਹੈ. ਸਹੀ ਤਰ੍ਹਾਂ ਸੰਰਚਿਤ ਕਰਨ ਨਾਲ, ਡਿਵੈਲਪਰ ਆਮ ਮੁਸ਼ਕਲਾਂ ਤੋਂ ਪਰਹੇਜ਼ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਨ ਕਿ ਸੇਵਾਵਾਂ ਭਰੋਸੇਯੋਗਤਾ ਨਾਲ ਗੱਲਬਾਤ ਕਰਦੀਆਂ ਹਨ. 🔧
ਨੋਡ.ਜਾਂ ਨਾਲ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਬਾਰੇ ਆਮ ਪ੍ਰਸ਼ਨ
- ਕੀ ਮੈਨੂੰ ਸਥਾਨਕ ਵਿਕਾਸ ਲਈ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ?
- ਇਹ ਤੁਹਾਡੇ ਟੀਚਿਆਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ. ਜੇ ਤੁਸੀਂ ਵਾਤਾਵਰਣ ਦੇ ਪਾਰ ਇਕਸਾਰਤਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਡੌਕਰ ਲਾਭਦਾਇਕ ਹੈ. ਹਾਲਾਂਕਿ, ਤੇਜ਼ ਦੁਹਰਾਓ ਲਈ, ਸਥਾਨਕ ਸਥਾਪਤ ਕੀਤੇ ਬਿਨਾਂ ਸਥਾਨਕ ਸੈਟਲ ਬਿਨਾ ਸ਼ਾਇਦ ਵਧੀਆ ਹੋ ਸਕਦਾ ਹੈ.
- ਮੈਂ ਇੱਕ ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਡੌਕ ਡੱਬੇ ਵਿੱਚ ਕਿਵੇਂ ਜਾਰੀ ਰੱਖਾਂਗਾ?
- ਜੋੜ ਕੇ ਡੌਕਰ ਵਾਲੀਅਮ ਦੀ ਵਰਤੋਂ ਕਰੋ volumes: - pg_data:/var/lib/postgresql/data ਤੁਹਾਡੇ ਵਿੱਚ docker-compose.yml ਫਾਈਲ.
- ਕੀ ਮੈਂ ਆਪਣੀ ਸਥਾਨਕ ਨੋਡ.ਜੇਸ ਸਥਾਪਨਾ ਨੂੰ ਪ੍ਰਭਾਵਤ ਕੀਤੇ ਬਗੈਰ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਹਾਂ! ਕੰਟੇਨਰ ਵਿੱਚ ਨੋਡ.ਜਾਂ ਚਲਾਉਣਾ ਨਿਰਭਰਤਾ ਨੂੰ ਅਲੱਗ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਤੁਹਾਡੇ ਸਥਾਨਕ ਸੈਟਅਪ ਵਿੱਚ ਦਖਲ ਨਹੀਂ ਦਿੰਦਾ. ਤੁਸੀਂ ਪੋਰਟਾਂ ਨੂੰ ਮੈਪ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ volumes ਸਥਾਨਕ ਫਾਈਲਾਂ ਨੂੰ ਲਿੰਕ ਕਰਨ ਲਈ.
- ਮੈਂ ਇੱਕ ਡੌਕ ਡੱਬੇ ਦੇ ਅੰਦਰ ਲਾਈਵ ਰੀਲੋਡਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸਮਰੱਥ ਕਰਾਂ?
- ਜੋੜ ਕੇ ਡੋਕਰ ਨਾਲ ਨੋਡੋਨ ਦੀ ਵਰਤੋਂ ਕਰੋ command: nodemon server.js ਤੁਹਾਡੇ ਵਿੱਚ docker-compose.override.yml ਫਾਈਲ.
- ਮੈਂ ਇਹ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ ਕਿ ਮੇਰਾ ਏਪੀਆਈ ਪੋਸਟਗਰੇਸਕਯੂਐਲ ਕੰਟੇਨਰ ਨਾਲ ਜੁੜਦਾ ਹੈ?
- ਵਰਤਣ ਦੀ ਬਜਾਏ localhost ਤੁਹਾਡੇ ਕੁਨੈਕਸ਼ਨ ਸਤਰ ਵਿੱਚ, ਪ੍ਰਭਾਸ਼ਿਤ ਡਾਟਾਬੇਸ ਸੇਵਾ ਦਾ ਨਾਮ ਵਰਤੋ docker-compose.yml, ਵਰਗੇ db.
ਵਿਕਾਸ ਵਿਚ ਡੌਕਰ 'ਤੇ ਅੰਤਮ ਵਿਚਾਰ
ਨਾਲ ਸ਼ੁਰੂ ਕਰਨ ਦੇ ਵਿਚਕਾਰ ਚੋਣ ਡੋਕਰ ਜਾਂ ਬਾਅਦ ਵਿਚ ਇਸ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਤੁਹਾਡੇ ਟੀਚਿਆਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ. ਜੇ ਤੁਸੀਂ ਜਲਦੀ ਦੁਹਰਾਓ ਅਤੇ ਘੱਟੋ ਘੱਟ ਗੁੰਝਲਦਾਰਤਾ ਦੀ ਮੰਗ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਥਾਨਕ ਸੈਟਅਪ ਵਧੀਆ ਹੋ ਸਕਦਾ ਹੈ. ਹਾਲਾਂਕਿ, ਜੇ ਇਕਸਾਰ ਤੈਨਾਤੀ ਤਰਜੀਹਾਂ ਹਨ, ਤਾਂ ਸ਼ੁਰੂਆਤ ਤੋਂ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਇਕ ਮਜ਼ਬੂਤ ਵਿਕਲਪ ਹੈ.
ਪਹੁੰਚ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ, ਲਰਨਿੰਗ ਡੌਕਰ ਆਧੁਨਿਕ ਡਿਵੈਲਪਰਾਂ ਲਈ ਇਕ ਕੀਮਤੀ ਹੁਨਰ ਹੈ. ਛੋਟੇ, ਛੋਟੇ ਹੋਣ ਦੇ ਪ੍ਰਯੋਗ ਸ਼ੁਰੂ ਕਰੋ, ਅਤੇ ਆਪਣੇ ਪ੍ਰਾਜੈਕਟ ਦੇ ਵਧਣ ਤੇ ਆਪਣੇ ਸੈਟਅਪ ਨੂੰ ਸੋਧੋ. ਸਮੇਂ ਦੇ ਨਾਲ, ਨਾਲ ਪ੍ਰਬੰਧਨ ਡਾਰਕ ਕੰਪੋਜ਼ ਅਤੇ ਵਰਕਫਲੋਜ਼ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਕੁਦਰਤੀ, ਹੁਲਾਰਾ ਅਤੇ ਸਕੇਲੇਬਿਲਟੀ ਮਹਿਸੂਸ ਕਰੇਗਾ. 🔥
ਡੌਕਰਾਈਜ਼ਿੰਗ ਨੋਡ. ਜੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਤੇ ਮੁੱਖ ਸਰੋਤ
- Noode.js ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਬਦਲਣ ਅਤੇ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦੇ ਵਿਆਪਕ ਸੁਝਾਆਂ ਲਈ, ਡੈਕਰ ਦੇ ਅਧਿਕਾਰਤ ਬਲਾੱਗ ਵੇਖੋ: ਤੁਹਾਡੇ ਨੋਡ.ਜੇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕੰਨ ਕਰਨ ਲਈ 9 ਸੁਝਾਅ .
- ਡੌਕਰ ਅਤੇ ਨੋਡ.ਜੇਸ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਨੂੰ ਸਮਝਣ ਲਈ, ਨੋਡ.ਜੇਐਸ ਡਾਰਕ ਟੀਮ ਦੇ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਾਂ ਤੋਂ ਸਲਾਹ ਲਓ: ਡੌਕਰ ਅਤੇ ਨੋਡ.ਜੇਸ ਵਧੀਆ ਅਭਿਆਸ .
- PostgreSQL ਦੇ ਨਾਲ ਇੱਕ ਨੋਡ.ਜੇਸ ਐਪ ਨੂੰ ਡੌਕਕਰੈਕਟ ਕਰਨ ਲਈ, ਇਸ ਟਿ utorial ਟੋਰਿਅਲ ਵੇਖੋ: ਨੋਡਜਾਂ ਅਤੇ ਪੋਸਟਗਰੇਸ ਦੀ ਉਦਾਹਰਣ ਨੂੰ ਡੋਲਸ ਕਰੋ .
- ਡੌਕਰਾਈਜ਼ਿੰਗ ਨੋਡ.ਜੇਸ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਇਕ ਵਿਸ਼ਾਲ ਮਾਰਗ-ਨਿਰਦੇਸ਼ਕ ਲਈ, ਸਮੇਤ ਓਪਟੀਮਾਈਜ਼ਡ ਚਿੱਤਰਾਂ ਅਤੇ ਡਾਰਕ ਕੰਪੋਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਨਾ, ਦੌਰਾ ਕਰਨਾ: ਨੋਡ.ਜੇਐਸ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਡੀਕਰੈਕਟ ਕਰਨ ਲਈ ਇੱਕ ਵਿਆਪਕ ਮਾਰਗਦਰਸ਼ਕ .