Docker容器端口映射80:80仅适用于本地主机,而不适用于外部访问?

Docker容器端口映射80:80仅适用于本地主机,而不适用于外部访问?

通过 SSH 登录我的内联网服务器,IP 为 10.10.245.209(当然是端口 22)

创建了一个docker-compose.yml:

version: '3.8'
services:
  php-apache-environment:
    container_name: php-apache
    image: php:8.0-apache
    volumes:
      - ./php/src:/var/www/html/
    ports:
      - 80:80

在 ./php/src 中我有index.php

<?php
echo 123+123;

docker-compose up -d在当前目录使用,容器启动成功:

CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                    PORTS                               NAMES
9795a5fdd59f   php:8.0-apache           "docker-php-entrypoi…"   19 minutes ago   Up 19 minutes             0.0.0.0:80->80/tcp, :::80->80/tcp   php-apache

现在如果我使用lynx http://localhostlynx http://127.0.0.1,它会正确返回:

246

作为网页。但当我尝试访问服务器时http://10.10.245.209在 Chrome 中,它会继续循环几秒钟,然后什么都没有(ERR_EMPTY_RESPONSE)。

lsof -i:80结果:

COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 24074 root    4u  IPv4 129863      0t0  TCP *:http (LISTEN)
docker-pr 24081 root    4u  IPv6 131383      0t0  TCP *:http (LISTEN)

根据文档和 Google 的一些搜索,我所做的一切都是正确的?

这可能是什么问题?

相关内容