我有最新的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)