小编sel*_*ner的帖子

无法从docker外部连接到dockerized redis实例

我有最新的docker安装(没有boot2docker),我无法连接到本地运行的dockerized redis实例.你能告诉我这里我做错了什么吗?

创建了docker,将端口6379映射到127.0.0.1:6379

bash-3.2$ docker run -p 127.0.0.1:6379:6379  --name webmonitor-redis -d redis
3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9
Run Code Online (Sandbox Code Playgroud)

docker ps输出:

bash-3.2$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
3291541d58ab        redis               "/entrypoint.sh redis"   14 seconds ago      Up 6 seconds        127.0.0.1:6379->6379/tcp   webmonitor-redis
Run Code Online (Sandbox Code Playgroud)

尝试从外部容器(但运行容器的同一主机)连接,连接失败:

bash-3.2$ ./src/redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> exit
Run Code Online (Sandbox Code Playgroud)

如果我尝试从另一个容器连接,它可以工作..

bash-3.2$ docker run -it --link webmonitor-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"'
172.17.0.8:6379> 
Run Code Online (Sandbox Code Playgroud)

这是docker检查容器:

bash-3.2$ docker inspect 3291541d58ab
[
{
    "Id": "3291541d58ab16c362f9e0cd7017d179c0bc9aef3a1323e79f1e1ca075e171c9", …
Run Code Online (Sandbox Code Playgroud)

localhost redis docker

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

docker ×1

localhost ×1

redis ×1