I cannot make a Sails container and a Postgress container to communicate.
ping-ing by the host names works, which means that the containers can “see” each other, but when I make calls to the database from the server app, I get
connection refused error, that is why I assume the problem is in the port exposure. Even by specifically exposing the port of the Postgres container, it still doesn’t work.
If I run the server app locally on the host machine, everything works fine, which makes me assume the exposure of the DB container port is all fine.
On Docker for Mac the
docker0 interface, that underlies the default
bridge network, is not implemented, so I cannot use this network, to which the containers are subscribed by default. And I want the containers to communicate only internally, within the Docker env, and not use the host machine as middleware. That is why I had to create a custom network, to which to subscribe the containers.
Here is the
version: '2' services: sails-test: build: . ports: - "8001:1337" volumes: - ./app:/app command: node app container_name: sails-server networks: - default postgresdata: image: busybox volumes: - /var/lib/postgresql container_name: sails-postgres-data postgres: image: postgres:latest ports: - "8002:5432" expose: - "5432" volumes_from: - postgresdata container_name: sails-postgres networks: - default networks: default: external: name: test-network
test-network shows that both containers are well subscribed to it.
I need to use a custom network, but not
link-ing, because I’ve got other containers, from separate
compose configurations, that I subscribe to the custom network, and thus
link-ing will not do the trick (since it’s useful only for containers that are spinned in the same
Any ideas how to make these guys talk to each other?