Port 8080

What’s running on port 8080 on my Mac?

8080 is the classic “alternate HTTP” port, so everything from Java servers to webpack to random Docker images defaults to it. lsof tells you which one won.

Commonly used by

  • Spring Boot / TomcatEmbedded Tomcat listens on 8080 unless server.port says otherwise.
  • Jenkinsbrew services start jenkins-lts serves the UI on 8080.
  • webpack-dev-server / Vue CLIwebpack serve and vue-cli-service serve start on 8080.
  • http-server / Eleventynpx http-server and npx @11ty/eleventy --serve both use 8080.
  • Docker imagesMany web images expose 8080; a published one shows as com.docker.backend.

Check what’s on port 8080

lsof -nP -iTCP:8080 -sTCP:LISTEN
ps -o pid,etime,command -p <PID>
COMMANDLikely
javaSpring Boot, Tomcat, Jenkins (the command line names the jar)
nodewebpack-dev-server, Vue CLI, http-server, Eleventy
com.docker.backend / OrbStackA container: docker ps --filter publish=8080

With Stat Space: statspace port 8080.

Free it

  • Terminal or IDE run: Ctrl-C, or kill <PID>. A Spring Boot app started from IntelliJ keeps running if you close the run tab without pressing Stop.
  • Jenkins via Homebrew: brew services stop jenkins-lts.
  • Docker: docker stop <name>, not kill, since com.docker.backend serves every container.

Change the port

ToolHow
Spring Bootserver.port=8081, or --server.port=8081
Tomcat (standalone)port="8081" on the HTTP <Connector> in conf/server.xml
Jenkins--httpPort=8081 (Homebrew: edit the plist’s arguments)
webpack-dev-serverdevServer: { port: 8081 } or webpack serve --port 8081
Vue CLIvue-cli-service serve --port 8081
http-servernpx http-server -p 8081
Eleventynpx @11ty/eleventy --serve --port=8081

Watch for 8081 if you also do React Native: Metro lives there.

Who can reach it

Java servers bind to all interfaces by default, so a Spring Boot app with Actuator endpoints or a Jenkins with a weak admin password is reachable by everyone on the network. npx http-server also listens on all addresses and serves the whole folder. Use server.address=127.0.0.1 for Spring, -a 127.0.0.1 for http-server, and -p 127.0.0.1:8080:8080 for Docker. See dev server exposed to the network.

Seeing it live

Stat Space shows 8080 with the process, project folder and launcher behind it, and flags *:8080. With Pro, Docker-published 8080s show the container and image instead of com.docker.backend.

Questions

How do I change the port in Spring Boot?

Set server.port=8081 in application.properties (or server: port: 8081 in YAML), or run with --server.port=8081. SERVER_PORT=8081 as an environment variable works too.

Why is port 8080 in use when nothing is running?

Something is, it just isn't in a terminal: a Homebrew service like Jenkins, a background IntelliJ run, or a Docker container. lsof -nP -iTCP:8080 -sTCP:LISTEN shows which.

What's the difference between 8080 and 80?

80 is the standard HTTP port and needs elevated privileges on many systems. 8080 is an unprivileged stand-in, which is why dev servers and Java apps default to it.

Get started

Know what your Mac is doing, without adding to it.

Free, no account. Pro is $9.99 once for the first 100 buyers.