我使用下面的命令在Docker中安装了Redis
docker run -d -p 6379:6379 redis:3.0.1
docker run -d -p 6380:6379 redis:2.8.20
Run Code Online (Sandbox Code Playgroud)
现在我需要从另一台机器访问这个redis实例
public static ConnectionMultiplexer redis = ConnectionMultiplexer.Connect(IPOFDOCKERINSTALLEDMACHINE:6379);
Run Code Online (Sandbox Code Playgroud)
我的应用程序托管在不同服务器的另一台机器上.
我正在运行应用程序,下面是例外
无法连接到redis服务器; 要创建断开连接的多路复用器,请禁用AbortOnConnectFail.PING上的SocketFailure
是否需要在docker或oracle虚拟机中更改任何内容?
Docker 正在将您公开的端口绑定到本地主机。这就是您发现问题的原因。为了使 Docker 取消将这些公开端口绑定到本地主机,您必须通过更改用于启动容器的命令来运行容器:
docker run -d -p 0.0.0.0:6380:6379 redis:2.8.20
docker run -d -p 0.0.0.0:6379:6379 redis:3.0.1
Run Code Online (Sandbox Code Playgroud)
更改的部分是,现在您为本地部分指定主机和端口(并保持容器部分不变;单个端口)。
我希望对你有帮助!请小心这一点。这不像是您通常想要实现的目标。如果您将 Redis 服务用于接近生产的用途,请确保您的 Redis 服务不会未经身份验证。
| 归档时间: |
|
| 查看次数: |
914 次 |
| 最近记录: |