Невозможно получить доступ к контейнеру через 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": "" в настройках сети.

docker ps и docker ps -a

Буду признателен за любую помощь или предложение.

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
Другие вопросы по тегам