Skip to content

Port9000— ClickHouse / Portainer / SonarQube

TCP 9000 is the default for several well-known services: ClickHouse\u2019s native protocol, Portainer\u2019s legacy HTTP entry point (current versions default to HTTPS on 9443), SonarQube\u2019s web interface and PHP-FPM\u2019s FastCGI listener. That overlap makes 9000 a frequent source of internal port conflicts and a scanner magnet.

Registry assignments, software defaults and local listeners are different things. A port number alone does not identify or secure a service.

Configuration and troubleshooting

To debug 9000 conflicts: identify the listener with `ss -tulpn | grep :9000` plus `docker ps | grep 9000`. Portainer moves via the container port mapping; ClickHouse via `tcp_port` in config.xml; SonarQube via `sonar.web.port` in sonar.properties. When several coexist, give each a distinct external port instead of fighting over 9000 in -p mappings.

Important limitations

Portainer and SonarQube are admin UIs and ClickHouse is a database protocol — none belong on the public internet. Port 9000 is heavily scanned; restrict sources or use a VPN.

Read-only checks: run on the server host

Choose the commands for your OS. Check TCP and UDP separately. No result is not a lasting availability guarantee; inspect host and container separately.

Linux

sudo ss -ltnp 'sport = :9000'

macOS

sudo lsof -nP -iTCP:9000 -sTCP:LISTEN

Windows PowerShell

Get-NetTCPConnection -LocalPort 9000 -State Listen

Sources and review

Sources checked on:

This review covers the explanations and sources on this page, not your device or every community software entry below.

Software Using This Port (10 software)

Community software entries: links are references, not individual verification.

Keystone.js

Node.js CMS and web application platform

Kratos

Go microservices framework

Play Framework

Default port for Play Framework web application framework

SonarQube

SonarQube code quality management platform port

Portainer

Portainer Docker management interface port

GitLab Runner

GitLab Runner executor port

Argo CD

Argo CD GitOpsToolPort

QuestDB HTTP

QuestDBDatabaseHTTPPort

Hadoop HDFS NameNode

Hadoop HDFS NameNode

SolrCloud

SolrCloudCluster

Usage Suggestions

  • Before using port 9000, please confirm it is not occupied by other services
  • If you encounter port conflicts, consider using other ports or stopping the occupying service

Frequently asked questions

What is port 9000 used for?

Port 9000 sits in the Development category. This page lists the registered purpose and the software commonly associated with it; to see what is actually listening on a specific machine, check the process with ss/netstat.

Is port 9000 TCP or UDP?

The registered protocol on this page is TCP. The same number behaves independently on each protocol: TCP may be listening while UDP is idle, so check them separately.

How do I check if port 9000 is in use?

On Linux: sudo ss -tlnp 'sport = :9000' for an exact port match. On macOS: sudo lsof -nP -iTCP:9000 -sTCP:LISTEN. On Windows PowerShell: Get-NetTCPConnection -LocalPort 9000 -State Listen. A listener counts as confirmed only when you can see the bind address and process name; without root/admin you will not see other users' processes.

Is port 9000 secure? Should I open it in my firewall?

A port number has no inherent security — it depends on whether the listening service is correctly configured and whether it needs exposure at all. Keep loopback/internal-only services firewalled; where public access is required, pair it with source restrictions, VPN or authentication. The caution section on this page lists port-specific risks.

Quick Info

Port
9000
Protocol
TCP
Categories
Development
Usage Status
10 software in use

Need Help?

If you find incorrect information or need to add more, please submit correction information.

Submit Correction