首页 > 解决方案 > 无法从 Web 浏览器访问 docker 容器文件

问题描述

我在 wsl2 上使用 ubuntu,并使用 docker web_examples-compose 从 github 存储库构建 docker 容器。我需要从我的网络浏览器在容器中添加一个 .sh 文件。

CONTAINER ID    IMAGE         COMMAND                  CREATED        STATUS               PORTS             NAMES
8d32b48b9f5c   web_examples   "/bin/sh -c /usr/bin…"   21 hours ago   Up About a minute   80/tcp, 3306/tcp   web_examples_container

我得到了我的容器的 IP 地址

$ docker inspect 8d32b48b9f5c  | grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",

我还获得了对容器的 root 访问权限并能够执行 .sh 文件

root@8d32b48b9f5c:/var/www/html# cd /usr/lib/cgi-bin/
root@8d32b48b9f5c:/usr/lib/cgi-bin# ls
examplescript.sh
root@8d32b48b9f5c:/usr/lib/cgi-bin# ./examplescript.sh

现在,当我使用浏览器时,我应该可以从http://172.17.0.2http://172.17.0.2/cgi-bin/examplescript.sh获取某些内容,但我只是在加载页面时遇到问题,连接超时

我在这里缺少什么,也许是我的本地机器和 docker 之间的 docker brigde 网络?这些是细节

$ docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
b08114f7609f   bridge    bridge    local
624809c979fe   host      host      local
612386680a2a   none      null      local`

$ docker network inspect b08114f7609f

     {
        "Name": "bridge",
        "Id": "b08114f7609f124dfb94189420b1060eaa686879cd94429dafacd2cd035e2986",
        "Created": "2021-10-17T16:39:37.5428329Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "ed3066c3b8221471ff7da8dfdaa9b56a7f4fe7ba23785f57a5f29f39eca40a6d": {
                "Name": "web_examples_container",
                "EndpointID": "e75ed6674d03abea991fc58898e657c6b517ec97d15f58bfaca7e4edcc23c959",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }



标签: dockerubuntudocker-composedocker-containerwsl-2

解决方案


推荐阅读