Я только что запустил новый экземпляр AWS EC2. В группу безопасности экземпляра я добавил новое правило, чтобы открыть порт 8080 и порт 80.
Я создал образ докера и контейнер, который запускает сервер Apache, согласно инструкции aws .
Когда я запускаю docker run -p 80:80 hello-world
(где hello-world - это изображение контейнера apache), все работает нормально, и я могу получить доступ к серверу из публичной сети (с помощью веб-браузера или команды curl).
Однако, когда я запускаю docker run -p 8080:80 hello-world
и пытаюсь отправить GET-запрос (веб-браузер или curl), я получаю тайм-аут соединения.
Если я войду на хост, на котором запущен контейнер докера, команда curl будет работать нормально. Это говорит мне, что порт 8080 на самом деле не открыт для публичной сети, и что-то блокирует его, что это может быть?