Порт отображения для доступа к веб-интерфейсу

В большинстве ОС номера находятся в /usr/include/sys/syscall.h

Обычно вы можете позвонить по системному вызову (номер, остальные параметры) .

Обратите внимание, что некоторые «системные вызовы» могут отсутствовать в syscalls.h, поскольку несколько интерфейсов системных вызовов реализуются одним системным вызовом, который использует дополнительный номер для выбора по вызову из группы вызовов.

Номера системных вызовов действительны только для определенной версии конкретной ОС.

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

1
16.12.2018, 23:39
1 ответ

Есть много способов сделать это, самый простой — использовать встроенную сеть Docker.

$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
6ef2c6836690        bridge              bridge              local
db24b1e2be58        host                host                local
edf606d533a5        none                null                local

По умолчанию ваш контейнер входит в сеть bridge, если вы не укажете иное во время docker run....

$ docker run -P -d -p 12345:80 nginxdemos/hello

Как только вы сделаете это, любой хост в локальной сети сможет связаться с ним, используя IP-адрес хоста Docker + порт:

$ curl -I http://192.168.56.101:12345/
HTTP/1.1 200 OK
Server: nginx/1.13.8
Date: Fri, 27 Jul 2018 08:26:02 GMT
Content-Type: text/html
Connection: keep-alive
Expires: Fri, 27 Jul 2018 08:26:01 GMT
Cache-Control: no-cache

Брандмауэры

Имейте в виду, что ваш брандмауэр хоста Docker может быть причиной того, что трафик не входит/не выходит в/из контейнера Docker. В некоторых ситуациях вам может потребоваться добавить порт (12345 хоста Docker в моем примере выше )в список разрешений, чтобы хосты за пределами хоста Docker могли получить доступ к этому порту.

Ссылки

0
28.01.2020, 00:31

Теги

Похожие вопросы