Цель
Я пытаюсь выяснить, почему я не могу получить доступ к PhpStorm через порт 9000 из моего контейнера Docker.
Настройка
Dockerfile
FROM php:7.1-apache
RUN apt-get update && apt-get install -y telnet nmap
докер-compose.yml
version: '3'
services:
test:
build: .
Steps
- Тестовый порт доступен с хоста:
telnet 127.0.0.1 9000
(успешно)
docker-compose up
docker container ls
docker exec -it [CONTAINER] /bin/bash
- Найти IP-адрес хоста внутри контейнера:
/sbin/ip route | awk '/default/ { print $3 }'
- Ping IP изнутри контейнера:
ping 172.18.0.1
(успешно)
- Внутри контейнера попробуйте подключиться к порту, используя IP-адрес хоста:
telnet 172.18.0.1 9000
(ошибка)
- Внутри контейнера проверьте, открыт ли порт, используя nmap:
nmap 172.19.0.1 -p 9000
(показывает, что порт закрыт) * 1038 *
Сбой Telnet с telnet: Unable to connect to remote host: Connection refused
nmap результаты:
# nmap 172.19.0.1 -p 9000
Starting Nmap 6.47 ( http://nmap.org ) at 2018-07-03 18:43 UTC
Nmap scan report for 172.19.0.1
Host is up (0.000040s latency).
PORT STATE SERVICE
9000/tcp closed cslistener
MAC Address: [redacted] (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 0.68 seconds
Мой вопрос
Как мне получить доступ к порту 9000 (который используется PhpStorm для прослушивания соединений Xdebug) внутри моего контейнера Docker?