Я пытаюсь сделать запросы к моему контейнеру сервера из моего клиентского приложения в другом контейнере. В документах Docker Compose указано, что сеть настраивается автоматически, поэтому не должны ли все порты быть доступны из всех контейнеров? Когда я делаю запрос curl на порт 4000 извне контейнера (в терминале fre sh), он работает. Однако когда я вхожу в контейнер клиента (selektor-client
) и пытаюсь выполнить тот же запрос, он терпит неудачу.
curl --request POST http://localhost:4000/api/music
Что я делаю не так?
docker -compose.yaml:
version: "3"
services:
client:
container_name: selektor-client
restart: always
build: ./client
ports:
- "3000:3000"
volumes:
- ./client/:/client/
- /client/node_modules/
command: ["yarn", "start"]
server:
container_name: selektor-server
restart: always
build: ./server
ports:
- "4000:4000"
volumes:
- ./server/:/server/
depends_on:
- mongo
command: ["yarn", "start"]
mongo:
container_name: selektor-mongo
command: mongod --noauth
build: .
restart: always
volumes:
# - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
- data-volume:/data/db
ports:
- "27017:27017"
volumes:
data-volume: