Я использую этап сборки VSTS Docker Compose v 0. * на размещенном агенте Linux. Вот мой docker-compose:
version: '3.0'
services:
storage:
image: blobstorageemulator:1.1
ports:
- "10000:10000"
server:
build: .
environment:
- ENV=--tests
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "8080:8080"
depends_on:
- storage
Я использую команду запуска служб. Итак, в основном я запускаю 2 контейнера Linux внутри другого контейнера Linux (агент сборки). Мне удалось соединить эти контейнеры друг с другом (сервер использует хранилище через строку подключения, которая содержит storage
в качестве хоста - http://storage:10000/devstoreaccount1
). Вопрос: как получить доступ к server
из контейнера агента сборки? Когда я делаю curl http://localhost:8080
на следующем шаге, он возвращает Failed to connect to localhost port 8080: Connection refused.
PS Локально я запускаю docker compose и могу легко получить доступ к своему открытому порту из ОС хоста (у меня VirtualBox с Ubuntu 17.10)
ОБНОВЛЕНИЕ: я попытался использовать docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' server-container-name
, чтобы получить IP-адрес контейнера, в котором запущено мое серверное приложение, и скрутить этот IP-адрес, но сейчас время ожидания соединения истекло.