Рейтинг:0

Сопоставление портов контейнера Docker 80:80 работает только на локальном хосте, но не при внешнем доступе?

флаг id

Зашел на мой интранет-сервер через SSH по IP-адресу 10.10.245.209 (конечно, порт 22)

Создал docker-compose.yml:

версия: '3.8'
Сервисы:
  php-apache-окружение:
    имя_контейнера: php-apache
    изображение: php:8.0-apache
    тома:
      - ./php/src:/var/www/html/
    порты:
      - 80:80

А в ./php/src у меня есть index.php:

<?php
эхо 123+123;

я использую docker-compose up -d в текущем каталоге, и контейнер успешно запущен:

ИДЕНТИФИКАТОР КОНТЕЙНЕРА ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНА СТАТУС ИМЕНА ПОРТОВ
9795a5fdd59f php:8.0-apache "docker-php-entrypoi ¦" 19 минут назад Up 19 минут 0.0.0.0:80->80/tcp, :::80->80/tcp php-apache

Теперь, если я использую рысь http://localhost или же рысь http://127.0.0.1, он правильно возвращается:

246

Как веб-страница. Но когда я пытаюсь получить доступ к серверу http://10.10.245.209 в Chrome он продолжает вращаться в течение нескольких секунд, а затем ничего (ERR_EMPTY_RESPONSE).

lsof -i:80 Результаты:

КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD УСТРОЙСТВО РАЗМЕР/ВЫКЛ НАЗВАНИЕ УЗЛА
docker-pr 24074 root 4u IPv4 129863 0t0 TCP *:http (СЛУШАТЬ)
docker-pr 24081 root 4u IPv6 131383 0t0 TCP *:http (СЛУШАТЬ)

Согласно документам и некоторым поискам в Google, все ли я сделал правильно?

Что здесь может быть не так?

Itai Ganot avatar
флаг gl
Вы открыли порт 80 в брандмауэре?
djdomi avatar
флаг za
Я бы использовал другой порт как 80 в контейнере из-за того, что у меня была ошибка в сопоставлении контейнера, однако вопрос в том, что говорит `lsof -I :80`
флаг id
@Itai Как узнать, открыт ли порт 80?
флаг id
`lsof -I :80` дает мне `lsof: недопустимый символ опции: I`
флаг id
@djdomi Я обновил вывод `lsof -i:80` в вопросе.
флаг id
@djdomi Под «другим портом как 80 в контейнере» вы имеете в виду порт контейнера или порт хоста?
djdomi avatar
флаг za
Я бы использовал порт 8080 для хоста, так как порт 80, похоже, используется в контейнере.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.