Networking 在docker容器中公开ipv6端口

Networking 在docker容器中公开ipv6端口,networking,docker,ipv6,nat,ports,Networking,Docker,Ipv6,Nat,Ports,我有一个应用程序需要在ipv6上侦听特定端口。我已经在docker文件中公开了它,我正在使用docker\u OPTS=“--ipv6”运行docker引擎,但是我无法让docker通过ipv6正确映射端口 使用docker inspect{name}时会显示端口(请参见下面的输出-编辑以消除多余内容)。但是,由于某些原因,我无法让它路由IPv6内容(从下面的输出来看,这些端口似乎只公开为ipv4) 如何让端口(9084)通过ipv6连接访问主机,就像通过ipv4连接访问主机的其他两个端口一样

我有一个应用程序需要在ipv6上侦听特定端口。我已经在docker文件中公开了它,我正在使用
docker\u OPTS=“--ipv6”
运行docker引擎,但是我无法让docker通过ipv6正确映射端口

使用
docker inspect{name}
时会显示端口(请参见下面的输出-编辑以消除多余内容)。但是,由于某些原因,我无法让它路由IPv6内容(从下面的输出来看,这些端口似乎只公开为ipv4)

如何让端口(9084)通过ipv6连接访问主机,就像通过ipv4连接访问主机的其他两个端口一样

[
    {
        // [...]
        "HostConfig": {
            // [...]
            "NetworkMode": "default",
            "PortBindings": {
                "8883/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8883"
                    }
                ],
                "9084/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "9084"
                    }
                ],
                "9094/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "9094"
                    }
                ]
            },
            // [...]
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            // [...]
        },
        // [...]
        "Config": {
            "Hostname": "40c7aa89b266",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "8883/tcp": {},
                "9084/tcp": {},
                "9094/tcp": {}
            },
            // [...]
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "97923c78571e880f267b56f4d86a7338e2f7a878d20b9961ae208af9c2bc6b64",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "8883/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "8883"
                    }
                ],
                "9084/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "9084"
                    }
                ],
                "9094/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "9094"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/97923c78571e",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "cdddc3cd29e3cb40f68cf696f0d6dffadd08aa5bf256cd12cef180f04795ee83",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "fe80::242:ac11:4",
            "GlobalIPv6PrefixLen": 64,
            "IPAddress": "172.17.0.4",
            "IPPrefixLen": 16,
            "IPv6Gateway": "fe80::1",
            "MacAddress": "02:42:ac:11:00:04",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "3371009b227abe4e8992fbd9a56ea662ee76fd692b6d7080045d5deb055e29e3",
                    "EndpointID": "cdddc3cd29e3cb40f68cf696f0d6dffadd08aa5bf256cd12cef180f04795ee83",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.4",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "fe80::1",
                    "GlobalIPv6Address": "fe80::242:ac11:4",
                    "GlobalIPv6PrefixLen": 64,
                    "MacAddress": "02:42:ac:11:00:04"
                }
            }
        }
    }
]

您没有在ipv6上打开任何端口,只打开ipv4。尝试添加
::
作为主机ip,这大致相当于ipv6的
0.0.0.0
@MarcB:我在这方面遇到了一些问题。我尝试在端口配置中使用
::9084:9084
[:]:9084:9084
:::9084:9084
,但我只是得到了错误。关于这方面的文档很少。docker似乎无法解析compose中的IPv6地址(我正在使用它来设置容器)。您没有在IPv6上打开任何端口,只有ipv4。尝试添加
::
作为主机ip,这大致相当于ipv6的
0.0.0.0
@MarcB:我在这方面遇到了一些问题。我尝试在端口配置中使用
::9084:9084
[:]:9084:9084
:::9084:9084
,但我只是得到了错误。关于这方面的文档很少,docker似乎无法解析compose中的IPv6地址(我用它来设置容器)