【问题标题】:docker-compose redis and redis commanderdocker-compose redis 和 redis 指挥官
【发布时间】:2019-02-05 17:17:10
【问题描述】:

我使用 windows docker 工具箱,我很困惑我缺少什么。我想将 redis 指挥官 (https://www.npmjs.com/package/redis-commander) 与来自 d​​ocker hub 的 docker 镜像 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。

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

工作,我可以在本地:6379 下访问服务器

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

对正确设置有帮助吗?

【问题讨论】:

    标签: docker redis docker-compose


    【解决方案1】:

    我认为您错过了链接您的 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
    

    【讨论】:

    【解决方案2】:

    对于需要链接 redis 和 redis-commander 的修复:

    version: "3.9"
    
    services:
      redis:
        image: redis:6.2.5
        command: redis-server --requirepass ${REDIS_PASSWORD}
        volumes:
          - redis:/var/lib/redis
          - redis-config:/usr/local/etc/redis/redis.conf
        ports:
          - ${REDIS_PORT}:6379
        networks:
          - redis-network
    
      redis-commander:
        image: rediscommander/redis-commander:latest
        restart: always
        environment:
          REDIS_HOSTS: redis
          REDIS_HOST: redis
          REDIS_PORT: redis:6379
          REDIS_PASSWORD: ${REDIS_PASSWORD}
          HTTP_USER: root
          HTTP_PASSWORD: root
        ports:
          - 8081:8081
        networks:
          - redis-network
    
    volumes:
      redis:
      redis-config:
    
    networks:
      redis-network:
        driver: bridge
    

    或者那个:

    version: "3.9"
    
    services:
      redis:
        image: redis:6.2.5
        command: redis-server --requirepass ${REDIS_PASSWORD}
        volumes:
          - redis:/var/lib/redis
          - redis-config:/usr/local/etc/redis/redis.conf
        ports:
          - ${REDIS_PORT}:6379
        links:
          - redis-commander
    
      redis-commander:
        image: rediscommander/redis-commander:latest
        restart: always
        environment:
          REDIS_HOSTS: redis
          REDIS_HOST: redis
          REDIS_PORT: redis:6379
          REDIS_PASSWORD: ${REDIS_PASSWORD}
          HTTP_USER: root
          HTTP_PASSWORD: root
        ports:
          - 8081:8081
    
    volumes:
      redis:
      redis-config:
    

    【讨论】:

      猜你喜欢
      • 2021-03-02
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 2021-12-01
      • 2015-04-30
      • 2020-12-18
      相关资源
      最近更新 更多