如何通过默认桥接网络将一个 docker 容器连接到另一个容器?

时间:2021-03-24 10:02:21

标签: docker networking redis python-3.6

我有一个在 docker 容器(linux python3.6 基础映像)中运行的 python 3.6 应用程序,该应用程序需要访问另一个带有 redis 实例的容器。我在默认桥接网络上运行了两个容器,并且我已将第一个容器配置为使用第二个容器的 IPv4Address 指向第二个容器:

CELERY_RESULT_BACKEND = redis://172.17.0.3:6379/0

根据 docker 上的教程,当它们在同一台主机上运行时(没有防火墙等),这就是将一个容器连接到另一个容器所需的全部内容。但是,当我尝试连接到 redis 容器时,我不断收到 [Errno 111] 连接被拒绝。我已检查是否启用了 ICC,我的默认网桥网络如下所示:

[
{
    "Name": "bridge",
    "Id": "fda5906e0a6009a5a7dd8839f4d85cdc8de15db34481b7ef15ce66f4343b2f63",
    "Created": "2021-03-24T07:54:17.8315909Z",
    "Scope": "local",
    "Driver": "bridge",
    "EnableIPv6": false,
    "IPAM": {
        "Driver": "default",
        "Options": null,
        "Config": [
            {
                "Subnet": "172.17.0.0/16",
                "Gateway": "172.17.0.1"
            }
        ]
    },
    "Internal": false,
    "Attachable": false,
    "Ingress": false,
    "ConfigFrom": {
        "Network": ""
    },
    "ConfigOnly": false,
    "Containers": {
        "38beb0863d86dab0f014ef9f1ad85f02efa7fb96520455df6f6ea6b5519f60cc": {
            "Name": "local_redis",
            "EndpointID": "74f510467dba138f10e1662830060a05ee192c368b32844af73eb4e865fc7182",
            "MacAddress": "02:42:ac:11:00:03",
            "IPv4Address": "172.17.0.3/16",
            "IPv6Address": ""
        },
        "f314393b25019c8c3084b8cf8465284d5a45c2f48c9aa5c411343e6a5f833c62": {
            "Name": "rabbitmq",
            "EndpointID": "a4886c398708d5279a8bf0de9dbd8eadd10dd320120243a2ca8c26e0e0c20e16",
            "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": {}
}

]

任何帮助将不胜感激。

0 个答案:

没有答案