Internal hostnames
On the private network, each service and each datastore has its name as its hostname.
All containers of a server share one private Docker network.
Each service is on the private network with its own name. Each datastore is there with the name of the datastore.
Call another service
From each service or job, another service is at <name>:<port>.
curl http://api:3000/healthFind the port
The port is the container port of the service that you call. ferry show api prints it as Internal address.
The reference ${{service.api.hostport}} gives the internal address. Thus you do not write the port in your code.
ferry env set web 'API_URL=http://${{service.api.hostport}}'The network has the name prefix of the server as its name: ferry by default.
Ferry tells each container its own names in FERRY_INTERNAL_HOSTNAME. Public services also get FERRY_EXTERNAL_HOSTNAME and FERRY_EXTERNAL_URL. See Environment & env groups.