我在设置中运行官方Redis镜像https://hub.docker.com/_/redis/docker- compose
。
myredis:
image: redis
如何redis-cli
在该图像上使用docker-compose 运行?
我尝试了以下操作,但未连接:
docker-compose run myredis redis-cli
> Could not connect to Redis at 127.0.0.1:6379: Connection refuse
图片的文档说我应该运行:
docker run -it --rm \
--link some-redis:redis \
redis \
sh -c 'exec redis-cli -h "$REDIS_PORT_6379_TCP_ADDR" -p "$REDIS_PORT_6379_TCP_PORT"'
这是docker-compose run
什么意思?
那会覆盖默认值CMD [ "redis-server" ]
:您试图在从未执行redis- cli
过的容器上运行redis-server
。
如此处所述,您还可以使用以下方法进行测试:
docker exec -it myredis redis-cli
如这个docker /
compose问题2123
所述,从docker-
compose :
rcli:
image: redis:latest
links:
- redis
command: >
sh -c 'redis-cli -h redis '
这也应该起作用:
rcli:
image: redis:latest
links:
- redis
command: redis-cli -h redis
正如OPivoba确认的那样,最后一种形式有效。
然后:
docker-compose run rcli
ivoba还添加:
docker-compose run redis redis-cli -h redis
在容器运行时也可以工作。
这样就不必声明一个单独的rcli
容器。
2017/09/04 15:58:33 server.go:73:使用API v1 2017/09/04 15:58:33 debugger.go:97:使用args启动进程:[/go/src/debug]无法启动进程:fork/exec/go/src/debug:不允许操作
基本上,我试图设置一个Redis-sentinel docker实例,并希望从我的应用程序容器进行调用。我正在运行的问题是,redis-sentinel容器链接到应用程序容器。 因此,最初该应用程序询问哨兵进程关于redis Master的情况。哨兵接着说是“127.0.0.1”。但是应用程序容器假定它是容器本地的。这可以通过在sentinel进程开始时传递的公告-IP/公告-端口参数来克服。然而
问题内容: 在我的文件中,具有以下内容。但是,容器不会选择主机名值。有任何想法吗? 当我检查容器中的主机名时,它没有启动。 问题答案: 我发现使用时主机名对其他容器不可见。事实证明这是一个已知问题(也许是一个已知功能),其中一部分讨论是: 我们可能应该在文档中添加有关使用主机名的警告。我认为它很少有用。 就容器网络而言,分配主机名的正确方法是定义一个别名,如下所示: 不幸的是,这 仍然 无法使用。
在我的文件中,我有以下内容。但是容器没有选择主机名值。有什么想法吗? 当我检查容器中的主机名时,它不会拾取。
我使用windows docker工具箱,我很困惑我错过了什么。我想使用redis commander(https://www.npmjs.com/package/redis-Commander)和来自docker Hub的docker图像redis。 我使用了上面链接中的docker-compose.yml: 在 工作,我可以到达服务器和er本地:6379 但是是什么意思 有什么帮助来正确设置这
问题内容: 我有一个运行一些Dockerfile的docker- compose文件来创建我的容器。我不想编辑Dockerfile来设置时区,因为它们可能会随时被团队成员更改,并且我有一个docker- compose.override.yml文件可以进行本地环境更改。但是,我的一个容器(基于Selenium的容器)似乎没有拉主机时区,这给我带来了麻烦。基于此,我想在所有容器上实施时区。现在在我的