Если вы запустите контейнер так же, как вы, Docker назначит случайный порт на вашем локальном хосте и отправит трафик c на порт 3001. Вы можете проверить, какой это порт, запустив docker ps
после того, как вы запустили контейнер и глядя на раздел PORTS
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b502af649be my-haproxy "/docker-entrypoint.…" 1 minute ago Up 47 minutes 0.0.0.0:32769->3001/tcp upbeat_shtern
Итак, в моем примере вы можете получить доступ к вашему приложению через порт 32769, но это число является случайным.
Имейте в виду, что в вашем примере Docker маршрутизирует трафик c на порт 3001, тогда как вы настроили HAProxy для привязки к порту 3000. По крайней мере, вам нужно изменить команду docker run
к следующему:
docker run -p3000 --name my-running-haproxy my-haproxy
Но обычно вы хотите иметь фиксированный порт на локальном хосте, например, порт 80. Запустите ваш контейнер следующим образом:
docker run -p 80:3000 --name my-running-haproxy my-haproxy
Теперь вы можете получить доступ к вашему заявлению на localhost:80
.