我正在尝试从主机(macOS)连接到在Docker容器中运行的Redis。
由于我本地有一个通过自制程序运行的Redis实例,因此我尝试将Docker容器的Redis映射到端口6380而不是6379。(我可以做这样的事情吗?)
➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96c36ee47c62 redis:5.0.6-alpine "docker-entrypoint.s…" 41 seconds ago Up 39 seconds 6379/tcp, 0.0.0.0:6379->6380/tcp redis
当我停止本地运行的Redis版本并将容器端口映射到6379时,我可以通过redis-cli
连接到容器。但是使用自定义6380端口,我只会收到一个错误:
➜ redis-cli -p 6380
`Could not connect to Redis at 127.0.0.1:6380: Connection refused not connected>` error.
我已经使用以下命令启动了容器
➜ docker run --name redis -d -p 6379:6380 --network mynetwork redis:5.0.6-alpine
我无法在其他端口上连接的原因是什么?谢谢。
答案 0 :(得分:0)
我刚刚意识到我已经混淆了“内部”和“外部”端口。代替
-p 6379:6380
应该是:
-p 6380:6379
。
现在它可以正常工作了。