Сопоставление портов в файле docker-compose не работает.Сеть недоступна - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь сопоставить порт из своего контейнера с портом на хосте, следуя документам , но он не работает.

После запуска docker-compose -f development.yml up --force-recreate Я не получаю ошибок.Но если я пытаюсь связаться со службой frontend, используя localhost:8081, сеть становится недоступной.

Я использовал docker inspect для просмотра IP-адреса и пытался пропинговать его, но ничего не получалось.

Вот файл docker-compose, который я использую.И я что-то не так делаю?

development.yml

version: '3'
services:
  frontend:
    image: nginx:latest
    ports:
      - "8081:80"
    volumes:
      - ./frontend/public:/var/www/html
  api:
    image: richarvey/nginx-php-fpm:latest
    ports:
      - "8080:80"
    restart: always
    volumes:
      - ./api:/var/www/html
    environment:
      APPLICATION_ENV: development
      ERRORS: 1
      REMOVE_FILES: 0
    links:
      - db
      - mq
  db:
    image: mariadb
    restart: always
    volumes:
      - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: dEvE10pMeNtMoDeBr0
  mq:
    image: rabbitmq:latest
    restart: always
    environment:
      RABBITMQ_DEFAULT_USER: developer
      RABBITMQ_DEFAULT_PASS: dEvE10pMeNtMoDeBr0

1 Ответ

0 голосов
/ 21 сентября 2018

Вы используете панель инструментов Docker.Панель инструментов Docker использует докер.В Windows с набором инструментов Docker вы работаете в виртуальной коробке со своим собственным IP, поэтому localhost находится не там, где живут ваши контейнеры.Вам нужно будет перейти по номеру 192.168.99.100:8081, чтобы найти ваш внешний интерфейс.

Согласно документации на докер-машину (https://docs.docker.com/machine/get-started/#run-containers-and-experiment-with-machine-commands):

$ docker-machine ip default
 192.168.99.100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...