Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有网络模式主机Can的Tomcat Docker容器';联系不到_Docker_Tomcat_Networking - Fatal编程技术网

带有网络模式主机Can的Tomcat Docker容器';联系不到

带有网络模式主机Can的Tomcat Docker容器';联系不到,docker,tomcat,networking,Docker,Tomcat,Networking,我正在用docker版本的 Docker版本18.03.1-ce,内部版本9ee9f40 当我用网络模式主机启动Tomcat服务器时,我无法访问它 $ sudo docker run --rm -d --network host -p 8888:8080 tomcat:8.0 $ curl localhost:8888 curl: (7) Failed to connect to localhost port 8888: Connection refused 当我在默认的桥接网络模式下启动它

我正在用docker版本的

Docker版本18.03.1-ce,内部版本9ee9f40

当我用网络模式主机启动Tomcat服务器时,我无法访问它

$ sudo docker run --rm -d --network host -p 8888:8080 tomcat:8.0

$ curl localhost:8888
curl: (7) Failed to connect to localhost port 8888: Connection refused
当我在默认的桥接网络模式下启动它时,一切看起来都很好

$ sudo docker run --rm -d -p 8888:8080 tomcat:8.0
$ curl localhost:8888
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/8.0.53</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
$sudo docker run-rm-d-p 8888:8080 tomcat:8.0
$curl本地主机:8888
ApacheTomcat/8.0.53
问题似乎与Tomcat映像有关。同样的原理也适用于nginx图像。您可以查看: 我试过了。它正在为nginx映像工作


我找不到任何与此相关的文档。您知道Tomcat容器不能与主机网络一起工作的原因吗?

如果您在
主机
网络模式下运行,则端口映射不会起任何作用。您的意思是“使用主机的网络堆栈运行此容器”。因此,您需要在tomcat运行的端口上连接到tomcat,无需转发。在上面的示例中,这将是
8080

$ sudo docker run --rm -d --network host tomcat:8.0
$ curl localhost:8080
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/8.0.53</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
$sudo docker run--rm-d--网络主机tomcat:8.0
$curl本地主机:8080
ApacheTomcat/8.0.53

nginx示例工作正常,因为它们连接到端口
80
,而这就是运行nginx的端口。在该示例中,他们没有进行任何转发。

感谢您排除此问题。我会尽快接受答案。