无法从docker实例外部连接到Windows上的docker redis

时间:2019-07-25 18:43:03

标签: docker redis

我在SO和Google上关注了其他问题的答案,但仍然无法连接。以下是我的尝试。感谢您提出的所有建议,以使其正常工作。

请注意,在此测试期间所有防火墙均被禁用。

PS D:\Program Files\Redis> ./redis-cli
127.0.0.1:6379> connect 172.17.0.2 6379

以上内容(对我而言)指示redis在docker映像上运行,并且正在docker映像和主机上的端口6379上侦听。从另一个Powershell,我为Windows运行Redis客户端,它只是挂起了

import pandas as pd
import numpy as np
import os

filepath = 'path/to/my/file'
df = pd.DataFrame()
data = pd.read_excel(filepath, header = None, skiprows = 5)
df = df.append(data)
df = df.rename(columns = { 1:'Date'})

1 个答案:

答案 0 :(得分:1)

docker run -p选项在主机的IP地址上发布服务的端口,您可以从Docker外部连接到该端口。如果您专门在运行容器的同一物理主机的控制台上,则可以使用特殊主机名localhost或匹配的特殊IPv4地址127.0.0.1来访问该容器。 (不过,如果您在容器内,localhost通常表示“此容器”。)

在您的最后一个redis-cli命令中,该命令表明已连接到127.0.0.1:6379,您已经连接到容器化的Redis:完成。

您永远不需要docker inspect返回的IP地址,并且在几种非常常见的设置中无法访问该IP地址。我建议绝对不要尝试查找它。例如,如果您在其他主机上,或者您正在使用Docker for Mac或Docker Toolbox,则将无法访问Docker专用IP地址。用docker run -p完成的方式是正确的。