ਟੋਮਕੈਟ ਡੌਕਰ ਤੈਨਾਤੀਆਂ ਵਿੱਚ 404 ਗਲਤੀਆਂ ਨੂੰ ਸਮਝਣਾ
ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਟੋਮਕੈਟ 'ਤੇ ਇੱਕ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨ ਸੈਟ ਅਪ ਕਰਨਾ ਇੱਕ ਸਿੱਧੀ ਪ੍ਰਕਿਰਿਆ ਹੋ ਸਕਦੀ ਹੈ, ਪਰ ਗਲਤੀਆਂ ਜਿਵੇਂ ਕਿ 404 ਸਥਿਤੀ ਆਮ ਹਨ ਅਤੇ ਤੈਨਾਤੀ ਵਿੱਚ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ। 404 ਗਲਤੀ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਸਰਵਰ ਬੇਨਤੀ ਕੀਤੇ ਸਰੋਤ ਨੂੰ ਲੱਭਣ ਵਿੱਚ ਅਸਮਰੱਥ ਹੈ, ਜੋ ਕਿ ਉਲਝਣ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ ਜਦੋਂ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਤੈਨਾਤ ਕੀਤਾ ਜਾਪਦਾ ਹੈ webapps ਫੋਲਡਰ। ਇਹ ਮੁੱਦਾ ਕਈ ਸੰਰਚਨਾ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਪੈਦਾ ਹੋ ਸਕਦਾ ਹੈ।
ਬਹੁਤ ਸਾਰੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਡਿਵੈਲਪਰ ਜੋ ਡੌਕਰ ਅਤੇ ਕੰਟੇਨਰਾਈਜ਼ਡ ਵਾਤਾਵਰਨ ਲਈ ਨਵੇਂ ਹਨ ਉਹਨਾਂ ਨੂੰ ਮੁਸ਼ਕਲਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ ਜਦੋਂ ਉਹਨਾਂ ਦੀ ਐਪਲੀਕੇਸ਼ਨ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਦੀ ਹੈ ਪਰ ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਨਹੀਂ। ਇਹ ਬੇਮੇਲ ਅਕਸਰ ਕਿਵੇਂ ਨਾਲ ਸੰਬੰਧਿਤ ਹੁੰਦਾ ਹੈ ਟੋਮਕੈਟ ਤੈਨਾਤ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਡੌਕਰ ਨੈੱਟਵਰਕਿੰਗ ਸੈੱਟਅੱਪ ਨੂੰ ਹੈਂਡਲ ਕਰਦਾ ਹੈ। ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ WAR ਫਾਈਲ ਸਹੀ ਢੰਗ ਨਾਲ ਰੱਖਿਆ ਗਿਆ ਹੈ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਸੰਦਰਭ ਪਹੁੰਚਯੋਗ ਹੈ ਮਹੱਤਵਪੂਰਨ ਕਦਮ ਹਨ.
ਡੌਕਰ ਉੱਤੇ ਟੌਮਕੈਟ ਲਈ ਇੱਕ ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਤੈਨਾਤ ਕਰਨ ਲਈ ਖਾਸ ਧਿਆਨ ਦੇਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜੇ ਤੁਸੀਂ ਸਪਰਿੰਗ ਬੂਟ ਤੋਂ ਟਾਮਕੈਟ ਨੂੰ ਬਾਹਰ ਰੱਖਿਆ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਸਮਾਯੋਜਨ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ ਕਿ ਟੋਮਕੈਟ ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪੇਸ਼ ਕਰਦਾ ਹੈ।
ਇਹ ਲੇਖ ਡੌਕਰ ਦੇ ਅੰਦਰ ਟੋਮਕੈਟ 'ਤੇ 404 ਗਲਤੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਮੁੱਦੇ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਦਾ ਹੈ, ਭਾਵੇਂ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਤੈਨਾਤ ਕੀਤਾ ਗਿਆ ਹੋਵੇ. webapps ਫੋਲਡਰ। ਅਸੀਂ ਸੰਭਾਵੀ ਕਾਰਨਾਂ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ, ਡੌਕਰ ਅਤੇ ਟੋਮਕੈਟ ਸੰਰਚਨਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਾਂਗੇ, ਅਤੇ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕਦਮਾਂ ਦੀ ਰੂਪਰੇਖਾ ਕਰਾਂਗੇ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
FROM tomcat:9.0-alpine | ਇਹ ਕਮਾਂਡ ਡੌਕਰ ਕੰਟੇਨਰ ਲਈ ਅਧਾਰ ਚਿੱਤਰ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ। ਇੱਥੇ, ਅਸੀਂ ਟੋਮਕੈਟ 9.0 ਦੇ ਅਲਪਾਈਨ ਸੰਸਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ, ਜੋ ਕਿ ਇੱਕ ਹਲਕਾ ਅਤੇ ਅਨੁਕੂਲਿਤ ਸੰਸਕਰਣ ਹੈ, ਜੋ ਡੌਕਰ ਚਿੱਤਰ ਦੇ ਆਕਾਰ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਆਦਰਸ਼ ਹੈ। |
ADD assessmentonline.war /usr/local/tomcat/webapps/ | ਇਹ ਕਮਾਂਡ WAR ਫਾਈਲ ਨੂੰ Tomcat webapps ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਜੋੜਦੀ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਤੈਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਦੋਂ Tomcat ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। ਵੈਬ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਸਹੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਰੱਖਣ ਲਈ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ। |
CMD ["catalina.sh", "run"] | ਜਦੋਂ ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਤਾਂ CMD ਕਮਾਂਡ ਡਿਫੌਲਟ ਕਾਰਵਾਈ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਇੱਥੇ, "catalina.sh run" ਫੋਰਗਰਾਉਂਡ ਵਿੱਚ Tomcat ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸੇਵਾ ਕਰਨ ਲਈ ਕੰਟੇਨਰ ਨੂੰ ਜਿਉਂਦਾ ਰੱਖਦਾ ਹੈ। |
docker build -t mywebapp1 . | ਇਹ ਮੌਜੂਦਾ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਡੌਕਰਫਾਈਲ ਤੋਂ ਇੱਕ ਡੌਕਰ ਚਿੱਤਰ ਬਣਾਉਂਦਾ ਹੈ, ਇਸਨੂੰ "mywebapp1" ਵਜੋਂ ਟੈਗ ਕਰਦਾ ਹੈ। ਇਹ ਕਦਮ ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਵਾਤਾਵਰਣ ਨੂੰ ਇੱਕ ਚਿੱਤਰ ਵਿੱਚ ਪੈਕੇਜ ਕਰਦਾ ਹੈ ਜੋ ਬਾਅਦ ਵਿੱਚ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। |
docker run -p 80:8080 mywebapp1 | ਇਹ ਡੌਕਰ ਚਿੱਤਰ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਕੰਟੇਨਰ ਦੇ ਪੋਰਟ 8080 (ਟੋਮਕੈਟ ਲਈ ਡਿਫੌਲਟ) ਨੂੰ ਮੇਜ਼ਬਾਨ 'ਤੇ ਪੋਰਟ 80 ਨਾਲ ਮੈਪ ਕਰਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਹੋਸਟ ਦੇ ਡਿਫੌਲਟ HTTP ਪੋਰਟ ਰਾਹੀਂ ਐਕਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। |
server.servlet.context-path=/assessmentonline | ਇਹ ਸਪਰਿੰਗ ਬੂਟ ਪ੍ਰਾਪਰਟੀ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਅਧਾਰ ਮਾਰਗ ਸੈੱਟ ਕਰਦੀ ਹੈ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਐਪਲੀਕੇਸ਼ਨ "/ assessmentonline" ਮਾਰਗ ਦੁਆਰਾ ਪਹੁੰਚਯੋਗ ਹੈ, ਸੰਭਾਵਿਤ URL ਢਾਂਚੇ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। |
docker logs <container-id> | ਚੱਲ ਰਹੇ ਡੌਕਰ ਕੰਟੇਨਰ ਤੋਂ ਲੌਗ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਇਹ ਕਮਾਂਡ ਡਿਪਲਾਇਮੈਂਟ ਮੁੱਦਿਆਂ ਜਿਵੇਂ ਕਿ ਗਲਤ ਸੰਰਚਨਾ ਜਾਂ ਗਲਤੀਆਂ ਦਾ ਨਿਦਾਨ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ ਜੋ 404 ਜਵਾਬ ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ। |
docker exec -it <container-id> /bin/sh | ਚੱਲ ਰਹੇ ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਇੱਕ ਇੰਟਰਐਕਟਿਵ ਸ਼ੈੱਲ ਸੈਸ਼ਨ ਚਲਾਉਂਦਾ ਹੈ। ਇਹ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕੰਟੇਨਰ ਦੇ ਫਾਈਲ ਸਿਸਟਮ ਤੱਕ ਸਿੱਧੀ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਕਿ WAR ਫਾਈਲ ਸਹੀ ਢੰਗ ਨਾਲ ਰੱਖੀ ਗਈ ਹੈ। |
ls /usr/local/tomcat/webapps/ | ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਵੈਬਐਪਸ ਡਾਇਰੈਕਟਰੀ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ। ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਕਿ ਕੀ WAR ਫਾਈਲ ਸਹੀ ਢੰਗ ਨਾਲ ਟੋਮਕੈਟ ਵਿੱਚ ਤਾਇਨਾਤ ਹੈ। |
ਟੋਮਕੈਟ ਡੌਕਰ ਸੈਟਅਪ ਅਤੇ ਗਲਤੀ 404 ਹੱਲ ਦਾ ਵਿਸਤ੍ਰਿਤ ਬ੍ਰੇਕਡਾਊਨ
ਪ੍ਰਦਾਨ ਕੀਤੀ ਸਕ੍ਰਿਪਟ ਦਾ ਪਹਿਲਾ ਭਾਗ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਡੌਕਰਫਾਈਲ ਇੱਕ Tomcat 9.0 ਕੰਟੇਨਰ ਸਥਾਪਤ ਕਰਨ ਲਈ। ਹੁਕਮ ਟੋਮਕੈਟ ਤੋਂ: 9.0-ਐਲਪਾਈਨ Tomcat ਦਾ ਇੱਕ ਹਲਕਾ ਸੰਸਕਰਣ ਖਿੱਚਦਾ ਹੈ, ਜੋ ਕਿ ਉਤਪਾਦਨ ਵਾਤਾਵਰਨ ਵਿੱਚ ਚਿੱਤਰ ਦੇ ਆਕਾਰ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਐਲਪਾਈਨ ਵੇਰੀਐਂਟ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਪ੍ਰਦਰਸ਼ਨ ਅਨੁਕੂਲਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਅੱਗੇ, ਦ ADD assessmentonline.war ਕਮਾਂਡ WAR ਫਾਈਲ ਨੂੰ ਵਿੱਚ ਰੱਖਦੀ ਹੈ webapps ਫੋਲਡਰ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨ ਟੋਮਕੈਟ ਦੇ ਅੰਦਰ ਸਹੀ ਤਰ੍ਹਾਂ ਤਾਇਨਾਤ ਹੈ। EXPOSE ਕਮਾਂਡ ਪੋਰਟ 8080 ਉਪਲਬਧ ਕਰਵਾਉਂਦੀ ਹੈ, ਜਿੱਥੇ ਟੋਮਕੈਟ ਵੈੱਬ ਬੇਨਤੀਆਂ ਦੀ ਸੇਵਾ ਕਰਦਾ ਹੈ।
ਇਸ ਸੈੱਟਅੱਪ ਦਾ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਹਿੱਸਾ ਹੈ CMD ["catalina.sh", "run"], ਜੋ ਡੌਕਰ ਨੂੰ ਫੋਰਗਰਾਉਂਡ ਵਿੱਚ ਟੋਮਕੈਟ ਨੂੰ ਚਲਾਉਣ ਲਈ ਨਿਰਦੇਸ਼ ਦਿੰਦਾ ਹੈ, ਇਸ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਨਿਰੰਤਰ ਸੇਵਾ ਦੇਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਤੋਂ ਬਿਨਾਂ, ਡੌਕਰ ਕੰਟੇਨਰ ਸ਼ੁਰੂਆਤੀ ਸ਼ੁਰੂਆਤ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਬਾਹਰ ਆ ਜਾਵੇਗਾ। ਬਿਲਡ ਕਮਾਂਡ docker ਬਿਲਡ -t mywebapp1. ਕੰਟੇਨਰ ਚਿੱਤਰ ਨੂੰ "mywebapp1" ਵਜੋਂ ਟੈਗ ਕਰਦਾ ਹੈ, ਜੋ ਬਾਅਦ ਵਿੱਚ ਕੰਟੇਨਰ ਨੂੰ ਚਲਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਸਕ੍ਰਿਪਟ ਦਾ ਇਹ ਭਾਗ ਵਾਤਾਵਰਣ ਸੰਰਚਨਾ, ਤੈਨਾਤੀ, ਅਤੇ ਕੰਟੇਨਰ ਸ਼ੁਰੂਆਤੀਕਰਣ ਨੂੰ ਹੈਂਡਲ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਕੰਟੇਨਰਾਈਜ਼ਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹਨ।
ਦੂਜੇ ਸਕ੍ਰਿਪਟ ਹੱਲ ਵਿੱਚ ਐਡਜਸਟ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ ਸੰਦਰਭ ਮਾਰਗ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਵੈੱਬ ਐਪ ਸਹੀ ਢੰਗ ਨਾਲ ਪਹੁੰਚਯੋਗ ਹੈ। ਵਰਤ ਕੇ ਪ੍ਰਸੰਗ ਮਾਰਗ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ server.servlet.context-path=/assessmentonline, ਅਸੀਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਾਂ ਕਿ ਇਸ ਮਾਰਗ ਲਈ ਬੇਨਤੀਆਂ ਨੂੰ ਸਹੀ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚਾਇਆ ਗਿਆ ਹੈ। ਇਹ ਸੈਟਿੰਗ ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਅਸਲ ਐਪਲੀਕੇਸ਼ਨ ਤੈਨਾਤੀ ਲਈ ਸੰਭਾਵਿਤ URL ਢਾਂਚੇ ਨੂੰ ਮੈਪ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਗਲਤ ਸੰਦਰਭ ਮਾਰਗ 404 ਤਰੁੱਟੀਆਂ ਦਾ ਇੱਕ ਆਮ ਕਾਰਨ ਹਨ, ਅਤੇ ਇਸਨੂੰ ਠੀਕ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਐਪ ਲੋੜੀਂਦੇ URL ਦੇ ਅਧੀਨ ਉਪਲਬਧ ਹੈ।
404 ਗਲਤੀ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਵਿੱਚ ਇੱਕ ਹੋਰ ਮੁੱਖ ਕਦਮ ਹੈ ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹੈ ਡੌਕਰ ਲਾਗ ਹੁਕਮ. ਇਹ ਕਮਾਂਡ ਤੁਹਾਨੂੰ ਕੰਟੇਨਰ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਲੌਗਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ, ਜੋ ਕਿ ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਤੈਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜਾਂ ਕੀ ਸ਼ੁਰੂਆਤੀ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਗਲਤੀਆਂ ਸਨ, ਇਸ ਬਾਰੇ ਕੀਮਤੀ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਦ docker exec -it ਕਮਾਂਡ ਚੱਲ ਰਹੇ ਕੰਟੇਨਰ ਵਿੱਚ ਇੱਕ ਸ਼ੈੱਲ ਖੋਲ੍ਹਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਫਾਈਲ ਸਿਸਟਮ ਦੀ ਪੜਚੋਲ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਤਸਦੀਕ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਕੀ WAR ਫਾਈਲ ਨੂੰ ਅੰਦਰ ਸਹੀ ਢੰਗ ਨਾਲ ਰੱਖਿਆ ਗਿਆ ਸੀ webapps ਫੋਲਡਰ ਅਤੇ ਕੀ ਸਾਰੇ ਸਰੋਤ ਸਹੀ ਢੰਗ ਨਾਲ ਤੈਨਾਤ ਕੀਤੇ ਗਏ ਹਨ। ਇਹ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਢੰਗ ਸੰਰਚਨਾ ਸਮੱਸਿਆਵਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹਨ ਜੋ 404 ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ।
ਟੋਮਕੈਟ ਡੌਕਰ ਸੈਟਅਪ ਵਿੱਚ 404 ਗਲਤੀ ਨੂੰ ਵੱਖ-ਵੱਖ ਪਹੁੰਚਾਂ ਨਾਲ ਸੰਭਾਲਣਾ
ਡੌਕਰ ਅਤੇ ਟੋਮਕੈਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਅਤੇ ਬੈਕਐਂਡ ਸੰਰਚਨਾਵਾਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਤ ਕਰਦੇ ਹੋਏ
# Approach 1: Verify WAR Deployment and Check Docker File
FROM tomcat:9.0-alpine
LABEL maintainer="francesco"
ADD assessmentonline.war /usr/local/tomcat/webapps/
EXPOSE 8080
# Ensure Tomcat's catalina.sh is correctly invoked
CMD ["catalina.sh", "run"]
# Build and run the Docker container
docker build -t mywebapp1 .
docker run -p 80:8080 mywebapp1
# Test the URL again: curl http://localhost/assessmentonline/api/healthcheck
ਸਪਰਿੰਗ ਬੂਟ ਵਿੱਚ ਸੰਦਰਭ ਮਾਰਗ ਸੰਰਚਨਾ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਦਾ ਹੱਲ
ਸਹੀ URL ਹੈਂਡਲਿੰਗ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ Tomcat ਦੇ ਅੰਦਰ ਸਪਰਿੰਗ ਬੂਟ ਸੰਦਰਭ ਸੈਟਿੰਗਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨਾ
# Approach 2: Modify Spring Boot Application to Set Proper Context Path
# In your Spring Boot application properties, specify the context path explicitly
server.servlet.context-path=/assessmentonline
# This ensures that the application is accessible under the correct path in Tomcat
# Rebuild the WAR and redeploy to Docker
docker build -t mywebapp1 .
docker run -p 80:8080 mywebapp1
# Test the updated URL: curl http://localhost/assessmentonline/api/healthcheck
# You should now receive a valid response from your application
ਡੌਕਰ ਸੰਰਚਨਾ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨਾ ਅਤੇ ਲਾਗਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ
ਤੈਨਾਤੀ ਜਾਂ ਗੁੰਮ ਹੋਈਆਂ ਫਾਈਲਾਂ ਨਾਲ ਸਬੰਧਤ ਮੁੱਦਿਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਡੌਕਰ ਲੌਗਸ ਨਾਲ ਸਮੱਸਿਆ ਦਾ ਨਿਪਟਾਰਾ
# Approach 3: Use Docker Logs to Diagnose 404 Issues
# Check the logs to confirm WAR deployment status
docker logs <container-id>
# Ensure no deployment errors or missing files are reported
# If WAR is not deployed correctly, consider adjusting the Dockerfile or paths
# Use docker exec to explore the running container
docker exec -it <container-id> /bin/sh
# Verify that the WAR file is in the correct directory
ls /usr/local/tomcat/webapps/assessmentonline.war
ਡੌਕਰ ਵਿੱਚ ਟੋਮਕੈਟ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਡਿਪਲਾਇਮੈਂਟ ਮੁੱਦਿਆਂ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨਾ
ਟੋਮਕੈਟ ਵਿੱਚ ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦਾ ਇੱਕ ਅਕਸਰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਗਿਆ ਪਹਿਲੂ ਸੰਦਰਭ ਮਾਰਗ ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਬਣਤਰ ਦੀ ਮਹੱਤਤਾ ਹੈ। ਮੂਲ ਰੂਪ ਵਿੱਚ, ਟੋਮਕੈਟ ਤੈਨਾਤੀਆਂ ਲਈ ਰੂਟ ਫੋਲਡਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਪਰ ਜੇਕਰ ਤੁਹਾਡੀ WAR ਫਾਈਲ ਨੂੰ ਸਹੀ ਸੰਦਰਭ ਮਾਰਗ ਨਾਲ ਸੰਰਚਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਇਹ ਇਸਦੀ ਅਗਵਾਈ ਕਰ ਸਕਦਾ ਹੈ 404 ਗਲਤੀਆਂ. ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਡੌਕਰ ਵਾਤਾਵਰਨ ਵਿੱਚ ਸੱਚ ਹੈ ਜਿੱਥੇ ਕੰਟੇਨਰ ਆਈਸੋਲੇਸ਼ਨ ਮੁੱਦਿਆਂ ਨੂੰ ਲੁਕਾ ਸਕਦੀ ਹੈ। ਇੱਕ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੱਲ ਟੋਮਕੈਟ ਦੀ ਡਾਇਰੈਕਟਰੀ ਢਾਂਚੇ ਨਾਲ ਮੇਲ ਕਰਨ ਲਈ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸਪਰਿੰਗ ਬੂਟ ਪ੍ਰਸੰਗ ਮਾਰਗ ਨੂੰ ਸੈੱਟ ਕਰਨਾ ਹੈ।
ਇਕ ਹੋਰ ਨਾਜ਼ੁਕ ਪਹਿਲੂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਡੌਕਰ ਕੰਟੇਨਰ ਪੋਰਟਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਐਕਸਪੋਜ਼ ਅਤੇ ਮੈਪ ਕਰ ਰਿਹਾ ਹੈ। ਵਿੱਚ ਗਲਤ ਸੰਰਚਨਾਵਾਂ EXPOSE ਡਾਇਰੈਕਟਿਵ ਟੋਮਕੈਟ ਸਰਵਰ ਨੂੰ ਬਾਹਰੀ ਤੌਰ 'ਤੇ ਪਹੁੰਚ ਤੋਂ ਬਾਹਰ ਕਰ ਸਕਦਾ ਹੈ, ਭਾਵੇਂ ਇਹ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਠੀਕ ਚੱਲ ਰਿਹਾ ਹੋਵੇ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਡੌਕਰ ਪੋਰਟ ਮੈਪਿੰਗ ਦੋਵਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਅਤੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨਾ ਕਿ ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਨਿਰਧਾਰਤ ਪੋਰਟ 'ਤੇ ਸੁਣ ਰਹੀ ਹੈ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਕਦਮ ਹਨ। ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਹਮੇਸ਼ਾਂ ਮੈਪਿੰਗ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ docker run ਸਹੀ ਨਾਲ ਹੁਕਮ -p ਝੰਡਾ
ਅੰਤ ਵਿੱਚ, ਸਪਰਿੰਗ ਬੂਟ ਅਤੇ ਟੋਮਕੈਟ ਵਿਚਕਾਰ ਏਕੀਕਰਣ ਕਈ ਵਾਰ ਸਮੱਸਿਆ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ ਜੇਕਰ ਟੋਮਕੈਟ ਨੂੰ ਸਪਰਿੰਗ ਬੂਟ ਨਿਰਭਰਤਾਵਾਂ ਤੋਂ ਬਾਹਰ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਡੌਕਰ ਵਿੱਚ ਇੱਕ ਸਟੈਂਡਅਲੋਨ ਸੇਵਾ ਵਜੋਂ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਸਾਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ, ਜਿਵੇਂ ਕਿ JSP ਫਾਈਲਾਂ ਅਤੇ ਨਿਰਭਰਤਾਵਾਂ, WAR ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ, ਰਨਟਾਈਮ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕ ਸਕਦੀਆਂ ਹਨ। ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੀਬੱਗ ਕਰਨਾ docker logs ਅਤੇ ਚੱਲ ਰਹੇ ਕੰਟੇਨਰ ਦੇ ਫਾਈਲ ਸਿਸਟਮ ਦਾ ਸਿੱਧਾ ਨਿਰੀਖਣ ਕਰਨਾ ਕੀਮਤੀ ਸੂਝ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦਾ ਹੈ, ਗੁੰਮ ਸਰੋਤਾਂ ਜਾਂ ਗਲਤ ਤੈਨਾਤੀਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਡੌਕਰਾਈਜ਼ਡ ਟੋਮਕੈਟ ਵਿੱਚ 404 ਗਲਤੀਆਂ ਬਾਰੇ ਆਮ ਸਵਾਲ
- ਸਫਲ WAR ਤੈਨਾਤੀ ਦੇ ਬਾਵਜੂਦ ਮੈਨੂੰ 404 ਗਲਤੀ ਕਿਉਂ ਮਿਲ ਰਹੀ ਹੈ?
- ਮੁੱਦਾ ਇੱਕ ਗਲਤ ਸੰਦਰਭ ਮਾਰਗ ਵਿੱਚ ਪਿਆ ਹੋ ਸਕਦਾ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰੋ server.servlet.context-path ਐਪਲੀਕੇਸ਼ਨ ਮਾਰਗ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰਨ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾ।
- ਮੈਂ ਕਿਵੇਂ ਤਸਦੀਕ ਕਰ ਸਕਦਾ ਹਾਂ ਕਿ ਕੀ ਮੇਰੀ WAR ਫਾਈਲ ਸਹੀ ਢੰਗ ਨਾਲ ਤੈਨਾਤ ਕੀਤੀ ਗਈ ਸੀ?
- ਡੌਕਰ ਕੰਟੇਨਰ ਤੱਕ ਪਹੁੰਚ ਕਰੋ ਅਤੇ ਵਰਤੋਂ ls /usr/local/tomcat/webapps/ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਕੀ WAR ਫਾਈਲ ਸਹੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਹੈ।
- ਮੈਂ ਡੌਕਰ ਵਿੱਚ ਟੋਮਕੈਟ ਦੀ ਪੋਰਟ ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਕਿਵੇਂ ਪ੍ਰਗਟ ਕਰਾਂ?
- ਯਕੀਨੀ ਬਣਾਓ ਕਿ EXPOSE Dockerfile ਵਿੱਚ ਕਮਾਂਡ ਨੂੰ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ 8080, ਅਤੇ ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਕੰਟੇਨਰ ਚਲਾਉਂਦੇ ਹੋ docker run -p 80:8080.
- ਜੇਕਰ ਮੇਰੀ ਐਪ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਦੀ ਹੈ ਤਾਂ 404 ਗਲਤੀ ਕੀ ਹੋ ਸਕਦੀ ਹੈ?
- ਡੌਕਰ ਵਿੱਚ, ਨੈਟਵਰਕ ਆਈਸੋਲੇਸ਼ਨ ਜਾਂ ਪੋਰਟ ਅਪਵਾਦ ਇੱਕ ਮੁੱਦਾ ਹੋ ਸਕਦਾ ਹੈ। ਪੋਰਟ ਮੈਪਿੰਗ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ ਅਤੇ ਚਲਾਓ docker logs ਤੈਨਾਤੀ ਮੁੱਦਿਆਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ।
- ਮੈਂ ਡੌਕਰ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਟੋਮਕੈਟ ਲੌਗਸ ਦੀ ਜਾਂਚ ਕਿਵੇਂ ਕਰਾਂ?
- ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰੋ docker logs <container-id> Tomcat ਲੌਗ ਦੇਖਣ ਅਤੇ ਗਲਤੀਆਂ ਜਾਂ ਗਲਤ ਸੰਰਚਨਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ।
ਡੌਕਰਾਈਜ਼ਡ ਟੋਮਕੈਟ ਵਿੱਚ 404 ਗਲਤੀਆਂ ਨੂੰ ਠੀਕ ਕਰਨ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
ਡੌਕਰਾਈਜ਼ਡ ਟੋਮਕੈਟ ਵਾਤਾਵਰਣ ਵਿੱਚ 404 ਗਲਤੀਆਂ ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ, ਮੁੱਖ ਫੋਕਸ ਇਸ ਗੱਲ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ 'ਤੇ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਸਹੀ ਢੰਗ ਨਾਲ ਤਾਇਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ WAR ਫਾਈਲ ਸਹੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਰੱਖੀ ਗਈ ਹੈ, ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਬਾਹਰੀ ਪਹੁੰਚ ਲਈ ਪੋਰਟਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਸਾਹਮਣੇ ਆਈਆਂ ਹਨ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਸੰਦਰਭ ਮਾਰਗ ਦੀ ਜਾਂਚ ਕਰਨਾ ਅਤੇ ਜਾਂਚ ਕਰਨਾ ਡੌਕਰ ਲੌਗਸ ਕਿਸੇ ਵੀ ਅੰਤਰੀਵ ਮੁੱਦਿਆਂ ਨੂੰ ਉਜਾਗਰ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਕੇ, ਤੁਸੀਂ ਜ਼ਿਆਦਾਤਰ ਤੈਨਾਤੀ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ Docker ਵਿੱਚ Tomcat ਦੁਆਰਾ ਸਫਲਤਾਪੂਰਵਕ ਆਪਣੀ ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸੇਵਾ ਕਰ ਸਕਦੇ ਹੋ।
ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਡੌਕਰ ਫੋਰਮ ਥ੍ਰੈਡ ਵਿੱਚ ਵਿਚਾਰੇ ਗਏ ਸਮਾਨ ਮੁੱਦੇ 'ਤੇ ਵਿਸਤ੍ਰਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਡੌਕਰ ਤੈਨਾਤੀਆਂ ਵਿੱਚ ਟੋਮਕੈਟ 404 ਗਲਤੀਆਂ ਦੇ ਸੰਭਾਵਿਤ ਕਾਰਨਾਂ ਦੀ ਸਮਝ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਸਰੋਤ ਲਿੰਕ: ਡੌਕਰ ਫੋਰਮ: ਟੋਮਕੈਟ 404 ਗਲਤੀ
- ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਟੌਮਕੈਟ ਲਈ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਤੈਨਾਤ ਕਰਨ ਲਈ ਵਰਤੇ ਗਏ ਕਦਮਾਂ ਅਤੇ ਉਦਾਹਰਨਾਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ, ਜਿਨ੍ਹਾਂ ਦਾ ਇਸ ਲੇਖ ਵਿੱਚ ਹਵਾਲਾ ਅਤੇ ਸੋਧ ਕੀਤਾ ਗਿਆ ਸੀ। ਸਰੋਤ ਲਿੰਕ: Cprime: ਡੌਕਰ 'ਤੇ ਟੌਮਕੈਟ ਲਈ ਵੈੱਬ ਐਪਸ ਨੂੰ ਤੈਨਾਤ ਕਰਨਾ