Невозможно подключиться к dockerized webpack-dev-серверу с хоста

Я не могу подключиться к моему dockerized webpack-dev-серверу с моего хост-компьютера. Вот что у меня есть на данный момент.

1) Документы Dockerfile открывают порт 8080 и заканчивают запуском webpack-dev-server

Dockerfile:

EXPOSE 8080
CMD npm run start-dev


2) Dockerfile встроен в образ с именем uxframe.

Командная строка:

docker build -t uxframe .


3) Контейнер peteypablo запускается с использованием контейнера uxframe. peteypablo прослушивает все внутренние IP-адреса и публикует что-либо с внутреннего порта 8080 на порт 8080

Командная строка:

docker run --name peteypablo --rm -it -p 0.0.0.0:8080:8080 uxframe


4) Webpack Dev Server работает на порту 8080 внутри контейнера докеров

package.json

"start-dev" : "webpack-dev-server --config ./config/webpack.config.dev.js --public --host 0.0.0.0 --port 8080"


5) Убедитесь, что контейнер peteypablo запущен и порт открыт.

Командная строка:

docker ps

Результат:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
387751c35091        uxframe             "/bin/sh -c 'npm run…"   2 minutes ago       Up 2 minutes        0.0.0.0:8080->8080/tcp   peteypablo


6) Получить IP-адрес контейнера peteypablo

Командная строка:

docker inspect peteypablo | grep IPAddress

Результат:

        "SecondaryIPAddresses": null,
        "IPAddress": "172.17.0.2",
                "IPAddress": "172.17.0.2",


7) Попробуйте подключиться к 172.17.0.2:8080 в браузере.

Результат:
Невозможно подключиться к dockerized webpack-dev-серверу с хоста

8) ** Подключитесь к peteypablo и запустите ifconfig для проверки IP-адресов. (Для тех, кто следит за этим, ifconfig требует, чтобы вы установили net-tools в свой контейнер. В моем Dockerfile это был RUN apt-get install -qy net-tools)

Командная строка:

docker exec -it peteypablo ifconfig

Результат:

eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:773 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:157963 (154.2 KiB)  TX bytes:10865419 (10.3 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


По-прежнему не удается подключиться к серверу webpack-dev.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
560
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После всей этой настройки я обнаружил, что могу подключиться к серверу webpack-dev-server, используя http://localhost:8080 вместо IP-адреса моего контейнера http://172.17.0.2:8080.

Я до сих пор не уверен, почему не работает ip-адрес самого контейнера докеров. Из того, что я собрал, похоже, это связано с виртуализацией, необходимой как часть Docker для Mac.

Другие вопросы по теме