无法访问 docker port actix Web 构建



我有一个基于activx web的应用程序,我正在尝试将其容器化。当我在本地运行构建时,它运行良好,但当我通过docker构建时,该应用程序启动良好,并绑定到本地docker端口,但无法从主机访问。

我如何运行容器:

docker run -p 80:80 myapp

Dockerfile(已删除(:

[...] // Builds binaries
FROM debian:buster-slim
COPY --from=server-builder /usr/src/myapp/target/release/myapp /usr/bin
COPY --from=frontend-builder /usr/src/frontend/dist /static
EXPOSE 80
CMD ["myapp"]

我没有任何其他服务在端口80上运行,我已经尝试使用不同的主机端口。我的二进制文件没有什么问题,因为它在本地运行良好,日志显示它在docker中运行良好。这不是/static目录的错误配置,因为服务器记录连接(即使在生产构建中(,并且在docker中也无法到达服务器。

以下是运行docker inspect时的网络设置

"NetworkSettings": {
"Bridge": "",
"SandboxID": "f7fe576d1f3c1612bb5afa94c3c360a12b0c0d464881835a0347fcadad228343",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
},
{
"HostIp": "::",
"HostPort": "80"
}
]
},
"SandboxKey": "/var/run/docker/netns/f7fe576d1f3c",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "b5939e954990ef71f4b69929beaf9af8f0b28f7fa9ee32363a9aefdd2f49107b",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:03",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "3eefce33be199f43e6aaa5866606a9a2da0daf25e662b510a18ed1820fb4d1d9",
"EndpointID": "b5939e954990ef71f4b69929beaf9af8f0b28f7fa9ee32363a9aefdd2f49107b",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.3",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:03",
"DriverOpts": null
}
}
}

好的。想明白了。首先,命令行参数是hostport:containerport,而不是相反。

其次,服务器只访问本地主机连接。看看activx怎么了。调试的一个好方法是将--network host参数与docker run一起使用

最新更新