FerryDocs

Private network

All containers of a server share one Docker network, where they call each other by name.

Edit on GitHub
Private network "ferry"api:3000app-db:5432shopweb serviceapiprivate serviceapp-dbdatastoreJobone-off or cron

Each container of the server joins one Docker network.

1 / 4

Ferry makes one Docker for each server. Its name is the name prefix: ferry by default. This is the . Each of the server joins it: service instances, one-off , and datastores.

Each service gets a DNS equal to the name of the service. Each gets an alias equal to its name.

Call a service by its name

curl http://api:3000/health        # a private service named "api" listening on 3000
psql postgresql://…@app-db:5432/…  # a datastore named "app-db"

Do not write hosts and ports in your code. Use a (References): ${{service.api.hostport}} becomes api:3000 when the service starts.

Private services

A is reachable only here. It also needs a : Ferry finds it the same way as for a web service. ferry show NAME prints it as the internal address.

ferry show api (excerpt)
Internal address:  api:3000

No isolation between services

All services of one server share this network. Ferry does not isolate the services from each other on it.

On this page