首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-编写redis和redis命令

docker-编写redis和redis命令
EN

Stack Overflow用户
提问于 2018-08-31 01:24:08
回答 2查看 3.9K关注 0票数 2

我使用windows docker工具箱,我对我缺少的东西感到困惑。我想使用redis指挥官(https://www.npmjs.com/package/redis-commander)和一个来自docker hub的docker图像redis。

我使用了上面链接中的docker-compose.yml:

代码语言:javascript
复制
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

现在,我可以使用工具箱IP在端口8081上启动应用程序,它显示未定义的redis server: local:redis:6379:0

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

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

works和我可以在本地连接到服务器:6379

但是REDIS_HOSTS=local:redis:6379意味着什么呢?

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

EN

回答 2

Stack Overflow用户

发布于 2018-08-31 14:21:59

我想你错过了链接你的两个容器。redis容器需要port + link,而redis命令需要正确的环境。您只能将容器名称用于链接/环境。

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2021-08-05 18:21:38

为了修复这个问题,你需要像这样连接redis和redis命令:

代码语言:javascript
复制
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

或者说:

代码语言:javascript
复制
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:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52102475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档