skip to Main Content

Based on this tutorial https://www.youtube.com/watch?v=XrFeRwJjWHI , I tried running Redis in Docker.

File docker-compose.yml

version: "3.8"

services:
  redis:
    image: redis
    volumes:
      - ./data:/data
    ports:
      - 6379:6379
docker pull redis
docker-compose up
docker-compose up -d
docker container ls
telnet localhost 6379

Telnet, type PING then press Enter key (you will not see text), then see result: PONG. Type quit to exit.

Microsoft Windows [Version 10.0.19041.508]
(c) 2020 Microsoft Corporation. All rights reserved.

D:docker>docker-compose stop redis
Stopping docker_redis_1 ... done

D:docker>

See what is running

docker container ls

You will see, docker redis was stoped.

docker image prune -a
docker-compose up

Docker RedisInsight

docker run -v redisinsight:/db -p 8001:8001 redislabs/redisinsight:latest

Wait about 6 minutes (at internet speed at 22:30) for downloading, unzip, install, starting.

go to: http://localhost:8001/ (auto open web browser). Health check for RedisInsight http://localhost:8001/healthcheck/ is OK.

enter image description here

enter image description here

enter image description here

(I also noted at here https://donhuvy.github.io/redis/docker/2020/10/10/run-redis-on-docker.html )

How to connect RedisInsight with Redis without error?

Update: This is my host file, seemly have problem at here (IP 127.0.0.1 for Kubernetes, really I don’t know about Kubernetes, I am learning it.), but I don’t know how to fix.

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

127.0.0.1    www.techsmith.com
127.0.0.1    activation.cloud.techsmith.com
127.0.0.1    oscount.techsmith.com
127.0.0.1    updater.techsmith.com
127.0.0.1    camtasiatudi.techsmith.com
127.0.0.1    tsccloud.cloudapp.net
127.0.0.1    assets.cloud.techsmith.com

# Added by Docker Desktop
192.168.1.44 host.docker.internal
192.168.1.44 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section

5

Answers


  1. RedisInsight are trying to connect to container’s localhost. Try typing 127.0.0.1 into Host field.

    If file host has been changed like the updated information in question, use 192.168.1.44 .

    Login or Signup to reply.
  2. For your containers to access each other you should first connect them to same network.

    docker network create redis
    docker network connect redis elastic_diffie
    docker network connect redis docker_redis_1
    

    After that open RedisInsight UI and write docker_redis_1 to your Hostand keep the port same. You should be able to connect to your redis container.

    Login or Signup to reply.
  3. Since you haven’t mentioned any network for the containers, they are conneted to the default bridge network. learn more

    To get container IP address

    Type in your terminal

    # Check container network IP address
    
    docker container inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" <container name>
    
    

    Use the IP address in: http://localhost:8001/ (RedisInsight).

    or

    (Not Recommended) Type the IP address of your HOST machine will solve the problem

    Use ipconfig or ifconfig based on your OS to get your IP

    Login or Signup to reply.
  4. Using this setup in docker-compose.yml

    version: '3.7'
    
    services:
      redis:
        image: 'redis:6.0.6'
        ports:
          - '127.0.0.1:6379:6379/tcp'
        volumes:
          - 'redis_data:/data:rw'
        healthcheck:
          test: redis-cli ping
          interval: 3s
          timeout: 5s
          retries: 5
    
      redisinsight:
        image: 'redislabs/redisinsight:latest'
        ports:
          - '127.0.0.1:8001:8001'
    

    you can access redis via

    enter image description here

    Login or Signup to reply.
  5. you must put your Ip by ipconfig instead of localhost

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search