我使用windows docker工具箱,我很困惑我缺少了什么。我想使用redis指挥官(https://www.npmjs.com/package/redis-commander)与一个docker图像redis从docker枢纽。
我使用了docker-compose.yml从上面的链接:
version: '3'
services:
redis:
container_name: redis
hostname: redis
image: redis
redis-commander:
container_name: redis-commander
hostname: redis-commander
image: rediscommander/redis-commander:latest
build: .
restart: always
environment:
- REDIS_HOSTS=local:redis:6379
ports:
- 8081:8081
现在,我可以在端口8081上使用工具箱IP启动应用程序,其中显示未定义的redis服务器:本地:红色:6379:0
由于我使用的工具箱,我假设我必须把一些IP正确的组成文件。
单独使用redis和$ docker run --name some-redis -d redis
工作,我可以到达服务器下er本地:6379
但什么是REDIS_HOSTS=local:redis:6379
有什么帮助来正确设置吗?
3条答案
按热度按时间aurhwmvo1#
我想你错过了链接你的两个容器。redis容器需要一个端口+链接和redis-commander正确的环境。你只能使用容器名称的链接/环境。
kognpnkq2#
要修复这个问题,你需要像这样链接redis和redis-commander:
或:
k97glaaz3#
REDIS_HOSTS=local:redis:6379
表示它将创建配置文件以连接到 * 端口 *6379
上的 * 主机名 *redis
的Docker容器,并将连接 * 名称 * 或 * 标签 * 设置为local
。REDIS_HOSTS
用于多个连接,用逗号分隔。REDIS_HOSTS
有几种写法,如documentation中所述。hostname
label:hostname
label:hostname:port
label:hostname:port:dbIndex
label:hostname:port:dbIndex:password
个例如:假设您要为两个名为
app1
和app2
的应用程序使用redis。app1
的数据库索引为1,app2
的数据库索引为2。REDIS_HOSTS
看起来如下所示:REDIS_HOSTS=app1:redis:6379:1,app2:redis:6379:2
个您可以使用的工作docker-compose.yml(添加网络):