Контейнер доступа запускается на шаге Docker Compose из размещенного агента Linux в Azure VSTS

Я использую этап сборки 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-адрес, но сейчас время ожидания соединения истекло.


comment
Попробуйте получить к нему доступ через фактический IP (не localhost или 127.0.0.1) mderriey.com/2017/03/06/   -  person starian chen-MSFT    schedule 07.03.2018
comment
Что будет, если вы попробуете с частным агентом?   -  person starian chen-MSFT    schedule 08.03.2018
comment
@ starianchen-MSFT то же самое, не могу обнаружить эту конечную точку.   -  person A T    schedule 08.03.2018
comment
Можете ли вы поделиться подробным журналом в OneDrive? (установите для переменной system.debug значение true, затем создайте очередь и поделитесь этим журналом)   -  person starian chen-MSFT    schedule 09.03.2018
comment
@AT, запущенный на частном агенте, означает, что вы пробовали использовать агент, работающий внутри контейнера, верно?   -  person Jitendra    schedule 14.03.2018


Ответы (1)


нет возможности получить к нему доступ из хост-контейнера, вам нужно выполнить команду exec.

docker-compose -p container_name exec name_from_compose http://localhost:8080
person A T    schedule 10.05.2018