无法通过 LAN 连接到 docker 容器,只能连接到 localhost

时间:2021-04-16 12:27:28

标签: docker

在这里完成 docker 新手。

我正在运行 Docker for Windows,使用 WSL2 后端运行 Linux 容器。在 docker run 命令中,我使用 -p 公开端口,但 docker 容器只能在本地主机上访问。

运行 docker inspect <container ID> 得到以下输出

> C:\WINDOWS\system32>docker inspect interesting_lederberg [
>     {
>         "Id": "b0d157cce44eeed25676ce9f65f7e75bd8a8edf90ae939e3cee62138869482db",
>         "Created": "2021-04-15T19:36:46.3761364Z",
>         "Path": "/sbin/tini",
>         "Args": [
>             "--",
>             "yarn",
>             "start"
>         ],
>         "State": {
>             "Status": "running",
>             "Running": true,
>             "Paused": false,
>             "Restarting": false,
>             "OOMKilled": false,
>             "Dead": false,
>             "Pid": 1090,
>             "ExitCode": 0,
>             "Error": "",
>             "StartedAt": "2021-04-15T20:45:22.1484197Z",
>             "FinishedAt": "2021-04-15T20:43:53.3264003Z"
>         },
>         "Image": "sha256:1f43ecb0bad02e402df1fc217bb1cbf784a61a5d0e3cc4cd812886d9973bd4fa",
>         "ResolvConfPath": "/var/lib/docker/containers/b0d157cce44eeed25676ce9f65f7e75bd8a8edf90ae939e3cee62138869482db/resolv.conf",
>         "HostnamePath": "/var/lib/docker/containers/b0d157cce44eeed25676ce9f65f7e75bd8a8edf90ae939e3cee62138869482db/hostname",
>         "HostsPath": "/var/lib/docker/containers/b0d157cce44eeed25676ce9f65f7e75bd8a8edf90ae939e3cee62138869482db/hosts",
>         "LogPath": "/var/lib/docker/containers/b0d157cce44eeed25676ce9f65f7e75bd8a8edf90ae939e3cee62138869482db/b0d157cce44eeed25676ce9f65f7e75bd8a8edf90ae939e3cee62138869482db-json.log",
>         "Name": "/interesting_lederberg",
>         "RestartCount": 0,
>         "Driver": "overlay2",
>         "Platform": "linux",
>         "MountLabel": "",
>         "ProcessLabel": "",
>         "AppArmorProfile": "",
>         "ExecIDs": [
>             "87eca9033ea20f614ca3be74918a024cb3078707d4235347e7fad52b88a5fc95",
>             "c0c84cf5231f14779b82a4188cf451ff44a879cb7b6f11529367462c99395c50"
>         ],
>         "HostConfig": {
>             "Binds": [
>                 "/Users/Adam/.config/Overseerr/config:/app/config/"
>             ],
>             "ContainerIDFile": "",
>             "LogConfig": {
>                 "Type": "json-file",
>                 "Config": {}
>             },
>             "NetworkMode": "default",
>             "PortBindings": {
>                 "5055/tcp": [
>                     {
>                         "HostIp": "",
>                         "HostPort": "5055"
>                     }
>                 ]
>             },
>             "RestartPolicy": {
>                 "Name": "unless-stopped",
>                 "MaximumRetryCount": 0
>             },
>             "AutoRemove": false,
>             "VolumeDriver": "",
>             "VolumesFrom": null,
>             "CapAdd": null,
>             "CapDrop": null,
>             "CgroupnsMode": "host",
>             "Dns": [],
>             "DnsOptions": [],
>             "DnsSearch": [],
>             "ExtraHosts": null,
>             "GroupAdd": null,
>             "IpcMode": "private",
>             "Cgroup": "",
>             "Links": null,
>             "OomScoreAdj": 0,
>             "PidMode": "",
>             "Privileged": false,
>             "PublishAllPorts": false,
>             "ReadonlyRootfs": false,
>             "SecurityOpt": null,
>             "UTSMode": "",
>             "UsernsMode": "",
>             "ShmSize": 67108864,
>             "Runtime": "runc",
>             "ConsoleSize": [
>                 30,
>                 120
>             ],
>             "Isolation": "",
>             "CpuShares": 0,
>             "Memory": 0,
>             "NanoCpus": 0,
>             "CgroupParent": "",
>             "BlkioWeight": 0,
>             "BlkioWeightDevice": [],
>             "BlkioDeviceReadBps": null,
>             "BlkioDeviceWriteBps": null,
>             "BlkioDeviceReadIOps": null,
>             "BlkioDeviceWriteIOps": null,
>             "CpuPeriod": 0,
>             "CpuQuota": 0,
>             "CpuRealtimePeriod": 0,
>             "CpuRealtimeRuntime": 0,
>             "CpusetCpus": "",
>             "CpusetMems": "",
>             "Devices": [],
>             "DeviceCgroupRules": null,
>             "DeviceRequests": null,
>             "KernelMemory": 0,
>             "KernelMemoryTCP": 0,
>             "MemoryReservation": 0,
>             "MemorySwap": 0,
>             "MemorySwappiness": null,
>             "OomKillDisable": false,
>             "PidsLimit": null,
>             "Ulimits": null,
>             "CpuCount": 0,
>             "CpuPercent": 0,
>             "IOMaximumIOps": 0,
>             "IOMaximumBandwidth": 0,
>             "MaskedPaths": [
>                 "/proc/asound",
>                 "/proc/acpi",
>                 "/proc/kcore",
>                 "/proc/keys",
>                 "/proc/latency_stats",
>                 "/proc/timer_list",
>                 "/proc/timer_stats",
>                 "/proc/sched_debug",
>                 "/proc/scsi",
>                 "/sys/firmware"
>             ],
>             "ReadonlyPaths": [
>                 "/proc/bus",
>                 "/proc/fs",
>                 "/proc/irq",
>                 "/proc/sys",
>                 "/proc/sysrq-trigger"
>             ]
>         },
>         "GraphDriver": {
>             "Data": {
>                 "LowerDir": "/var/lib/docker/overlay2/824a04914d3267dc4ed6d71a7f8a44511371c43818d9e89f84573bde1fa66de9-init/diff:/var/lib/docker/overlay2/dbb98291aa04ded3688d75e1b5957049f8ebc08676f1da6892e9e61f62b0a724/diff:/var/lib/docker/overlay2/e0b871640273eba9a621d6dbbffcf31fb30ac4607966c47ebb959e81b364c93a/diff:/var/lib/docker/overlay2/61be26b4852e8d864f8fffa1bd56f9caf48eb4e37714f7ee1ad201cf3086d825/diff:/var/lib/docker/overlay2/5d98c35bb30b5e4a3d6d3c77f121fb14379a664682bc1ef1d748e983f8152399/diff:/var/lib/docker/overlay2/64a3242b51efa6580a3f2228a017856b4721b7c76b2e3de823137f9997047cae/diff:/var/lib/docker/overlay2/2fee6e35a016411eb59ec15119695d80e54d1df0586cb968e9e449f56c8d388f/diff",
>                 "MergedDir": "/var/lib/docker/overlay2/824a04914d3267dc4ed6d71a7f8a44511371c43818d9e89f84573bde1fa66de9/merged",
>                 "UpperDir": "/var/lib/docker/overlay2/824a04914d3267dc4ed6d71a7f8a44511371c43818d9e89f84573bde1fa66de9/diff",
>                 "WorkDir": "/var/lib/docker/overlay2/824a04914d3267dc4ed6d71a7f8a44511371c43818d9e89f84573bde1fa66de9/work"
>             },
>             "Name": "overlay2"
>         },
>         "Mounts": [
>             {
>                 "Type": "bind",
>                 "Source": "/Users/Adam/.config/Overseerr/config",
>                 "Destination": "/app/config",
>                 "Mode": "",
>                 "RW": true,
>                 "Propagation": "rprivate"
>             }
>         ],
>         "Config": {
>             "Hostname": "b0d157cce44e",
>             "Domainname": "",
>             "User": "",
>             "AttachStdin": false,
>             "AttachStdout": false,
>             "AttachStderr": false,
>             "ExposedPorts": {
>                 "5055/tcp": {}
>             },
>             "Tty": false,
>             "OpenStdin": false,
>             "StdinOnce": false,
>             "Env": [
>                 "log_level=info",
>                 "TZ=Americas/Chicago",
>                 "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
>                 "NODE_VERSION=14.16.0",
>                 "YARN_VERSION=1.22.5"
>             ],
>             "Cmd": [
>                 "yarn",
>                 "start"
>             ],
>             "Image": "sctx/overseerr",
>             "Volumes": null,
>             "WorkingDir": "/app",
>             "Entrypoint": [
>                 "/sbin/tini",
>                 "--"
>             ],
>             "OnBuild": null,
>             "Labels": {}
>         },
>         "NetworkSettings": {
>             "Bridge": "",
>             "SandboxID": "17361bc4be45df07ee279b2b1987ca7e307e144c81c12da15c8daa692893f74b",
>             "HairpinMode": false,
>             "LinkLocalIPv6Address": "",
>             "LinkLocalIPv6PrefixLen": 0,
>             "Ports": {
>                 "5055/tcp": [
>                     {
>                         "HostIp": "0.0.0.0",
>                         "HostPort": "5055"
>                     }
>                 ]
>             },
>             "SandboxKey": "/var/run/docker/netns/17361bc4be45",
>             "SecondaryIPAddresses": null,
>             "SecondaryIPv6Addresses": null,
>             "EndpointID": "029f59084a406f3a8845aefb089dafa04fdedb45b94779434f690beef694f897",
>             "Gateway": "172.17.0.1",
>             "GlobalIPv6Address": "",
>             "GlobalIPv6PrefixLen": 0,
>             "IPAddress": "172.17.0.2",
>             "IPPrefixLen": 16,
>             "IPv6Gateway": "",
>             "MacAddress": "02:42:ac:11:00:02",
>             "Networks": {
>                 "bridge": {
>                     "IPAMConfig": null,
>                     "Links": null,
>                     "Aliases": null,
>                     "NetworkID": "d91c02041043e7b1f8facfcd1957e23dc133c22587442a20d78d0db65cb6ae11",
>                     "EndpointID": "029f59084a406f3a8845aefb089dafa04fdedb45b94779434f690beef694f897",
>                     "Gateway": "172.17.0.1",
>                     "IPAddress": "172.17.0.2",
>                     "IPPrefixLen": 16,
>                     "IPv6Gateway": "",
>                     "GlobalIPv6Address": "",
>                     "GlobalIPv6PrefixLen": 0,
>                     "MacAddress": "02:42:ac:11:00:02",
>                     "DriverOpts": null
>                 }
>             }
>         }
>     } ]

据我所知,我处于桥接模式,我的容器 IP 是 172.0.2,网关是 172.0.0.1,但是如果我进入 Docker for Windows 程序并为我的容器打开一个 CLI 终端,{{1 }} 我得到 192.168.65.2 作为 IP 地址。另外作为参考,我在 Windows 主机上的本地 IP 是 192.168.0.18。

我发现一些信息表明我可能需要添加路由,但我对不同的 IP 地址以及我将在 run ping host.docker.internal 命令中使用的 IP 地址感到困惑,老实说我不确定我什至需要编辑我的路由表,因为不应该公开 route add 命令上的端口,允许使用 Windows 主机 IP 和端口 (192.168.0.18:5055) 从我的家庭网络上的不同设备进行访问?< /p>

感谢任何帮助和指导。

0 个答案:

没有答案