After changing the command from docker run -p 3000:3000 app to docker run -p 8080:8080 app, I can finally open this webpage on my local computer.
The possible reason is "The 'listening on 8080' is a message coming from the container、It is listening on port 8080 inside the container, but then docker may expose that internal port as a different port on the host、The port that is relevant to you is the docker-exported port, which may or may not be the same as the one in the container.Glad you got it worked out、It could have been a firewall issue, but I don't know what your firewall setup was.
"