Невозможно получить доступ к контейнеру через localhost
Начинающий докер здесь.
Я создал простое веб-приложение asp.net, которое при запуске показывает мне страницу приложения по умолчанию.
Используя команду docker build, я создаю из него образ и далее с помощью команды docker run docker run -d --name {containername} -p 81:8080 {imageid}
. Теперь, когда я пытаюсь получить доступ к образу контейнера через локальный хост в браузере, то есть http://localhost:81/, я получаю сообщение об ошибке "Сайт недоступен". Я ожидал, что та же самая страница приложения по умолчанию откроется через открытый порт 81.
Мой докер-клиент - это windows/amd, а докер-сервер - это linux/amd. Я использую версию докера 19.03.08.
Используя docker inspect, я мог видеть
"PortBindings": {
"8080/tcp": [
{
"HostIp": "",
"HostPort": "81"
}
]
},
и "IPAddress": "" в настройках сети.
Буду признателен за любую помощь или предложение.
1 ответ
Судя по приложенным снимкам экрана, ваш контейнер убит сразу после запуска. У вас должен быть запущен процесс в контейнере, чтобы он продолжал работать. Только тогда вы сможете получить доступ через хост ip:port. В этом случаеhttp://localhost:81
В вашем docker ps -a
статус закрыт. В идеале это должно быть примерно так, если ваш контейнер запущен и работает.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c01db0b339c ubuntu:12.04 bash 17 seconds ago Up 16 seconds