Can't see the second node whilst attempting to build a cluster

In your elasticsearch.yml, you have:

network.host: localhost

That is making Elasticsearch listen just on the loopback interface: it'll only be able to connect to requests that were made to localhost. The nodes will need to bind to a non-loopback address. See https://www.elastic.co/guide/en/elasticsearch/reference/current/network.host.html