For now, there is a default bootstrap list:
https://github.com/ipfs/go-ipfs/blob/7fbfecf6fab5920317de2e9...
When new nodes enter the network, they connect to a subset of this list and use this as a starting point for discovery.
After that, queries/operations on the DHT will result in the discovery of other nodes.