docker-compose redis 和 redis commander

标签 docker redis docker-compose

我使用 Windows docker 工具箱,但我很困惑我缺少什么。我想将 redis 指挥官 ( https://www.npmjs.com/package/redis-commander ) 与来自 d​​ocker hub 的 docker image redis 一起使用。

我使用了上面链接中的 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 启动应用程序 它说 undefined redis server: local:redis:6379:0

因为我使用的是工具箱,所以我假设我必须在撰写文件中正确放置一些 IP。

通过 $ docker run --name some-redis -d redis 单独使用 redis

有效,我可以访问 er local:6379 下的服务器

但是 REDIS_HOSTS=local:redis:6379 是什么意思

对正确设置它有什么帮助吗?

最佳答案

我认为您错过了链接您的 2 个容器。 redis 容器需要端口 + 链接和 redis-commander 正确的环境。 您只能为链接/环境使用容器名称。

version: '3'
services:
  redis:
    container_name: redis
    hostname: redis
    image: redis
    ports
        - 6379:6379
    links: redis-commander

  redis-commander:
    container_name: redis-commander
    hostname: redis-commander
    image: rediscommander/redis-commander:latest
    build: .
    restart: always
    environment:
        - REDIS_HOSTS=redis
    ports:
        - 8081:8081

关于docker-compose redis 和 redis commander,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52102475/

相关文章:

linux - 无法设置docker-machine环境变量bash

docker - docker 无事可做,找不到 docker 命令

windows - 无法在 Windows 7 上的 docker 中运行默认的 hello-world 程序

docker - 根据环境在Dockerfile中调用不同的命令

docker - 构建派生图像时无法在缓存中找到(本地)图像

amazon-web-services - 将使用Celery和Redis的Flask应用程序部署到AWS:直接使用Elastic Beanstalk还是EC2?

ruby-on-rails - rails hiredis undefined symbol

postgresql - 如何将容器 ip 作为 ENV 传递给 docker-compose 文件中的其他容器

mysql - 删除容器时 docker 卷会发生什么

ruby - 无法从 Docker 容器内连接到 Redis (Redis::CannotConnectError)