Not able to open Tomcat on docker from windows 10 browser

Hi
I installed tomcat in a docker container using Docker Desktop. I am very new to docker.
All works fine seemingly. I get the output from the tomcat log that the sever has been started successfully on port tomcat:latest 8088:8080
I ran Tomcat from Docker Desktop.
The container view in docker desktop shows that the conainer and app is up and running.
But I cannot connect tomcat via browser. I try http://localhost:8080 and http://localhost:8088 in the browser. I am getting this error in the browser; HTTP Status 404 – Not Found

Here is my tomcat log
21-Jul-2026 14:30:07.049 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
21-Jul-2026 14:30:07.055 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [2.0.15] using APR version [1.7.2].
21-Jul-2026 14:30:07.074 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 3.0.13 30 Jan 2024]
21-Jul-2026 14:30:07.657 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-8080”]
21-Jul-2026 14:30:07.712 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1142] milliseconds
21-Jul-2026 14:30:07.844 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
21-Jul-2026 14:30:07.845 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/11.0.24]
21-Jul-2026 14:30:07.874 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-8080”]
21-Jul-2026 14:30:07.923 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [205] milliseconds

Please can someone point me to right direction.

thank you

Please share how you start the container (exact command, or content of the compose file)

Since you get a 404, it seems your browser is able to reach http://localhost:8088, but nothing exists in the web server root. It’s been easily 10 years, since I saw standalone tomcat being used, so my memory might be blurry. But wasn’t it necessary to append your application context to reach it, or configure it in one of the config xml files?

If you really need to use standalone tomcat, make sure to use a version that did not reach EOL (see Apache Tomcat | endoflife.date) and an image that is actively maintained. Otherwise, you might end up with a base image hat comes with critical and high cve findings.

This could be relevant from the description of the latest Tomcat server image:

Note: as of docker-library/tomcat#181, the upstream-provided (example) webapps are not enabled by default, per upstream’s security recommendations, but are still available under the webapps.dist folder within the image to make them easier to re-enable.

So if I interpret it correctly, and if the latest tomcat is used, the first step would be enabling the app inside the container possibly by renaming the folder to webapp. I don’t remember if that loads at the root or at /webapp.

This could also be added to a Dockerfile, but if this is only an example app, it might not be what a user wants so manually doing it could work. I have not looked for a more specific instruction so my answer is a half guess and the link that can help to learn more about it.