在Docker中调用redis-cli-compose设置

我在docker-compose设置中运行官方的redis镜像https://hub.docker.com/_/redis/ 。

myredis: image: redis 

如何运行docker-redis-cli-compi在该映像上?
我试过了:

 docker-compose run myredis redis-cli 

但是这不会连接:无法连接到Redis在127.0.0.1:6379:连接拒绝

图像的文档说我应该运行:

 docker run -it --link some-redis:redis --rm redis sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"' 

这是如何转换为docker运行

这将覆盖默认的CMD [ "redis-server" ] :您正试图在redis-server从未执行过的容器上运行redis-cli

如上所述 ,您也可以使用以下方法testing:

 docker exec -it myredis redis-cli 

从docker构成,如在这个docker/撰写问题2123提到:

 rcli: image: redis:latest links: - redis command: > sh -c 'redis-cli -h redis ' 

这也应该起作用:

 rcli: image: redis:latest links: - redis command: redis-cli -h redis 

正如国际米兰证实( 在评论 ),最后的forms工程。
然后:

 docker-compose run rcli 

ivoba还补充说:

docker-compose run redis redis-cli -h redis在容器运行时也可以工作。
这样就不需要声明一个单独的rcli容器。

你也可以使用这个命令:

 docker-compose run myredis redis-cli -h myredis