RedisInsight on Docker and Redis on Docker: Could not connect: Error 99 connecting to localhost:6379. Cannot assign requested address
Asked Answered
T

6

6

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

Theodicy answered 10/10, 2020 at 15:43 Comment(6)
Are these containers running in the same network? Try to list the networks and the containers to see if these are on the same networkChirrupy
How to list the networks and the containers?Theodicy
Did you get your answer?Chirrupy
I am not sure .Theodicy
you can do the following to list networks with docker: docker network ls. to check the network of your container you can do the following: $ docker inspect c1 -f "{{json .NetworkSettings.Networks }}" c1 == the name of the container.Chirrupy
I catch error user-images.githubusercontent.com/1328316/…Theodicy
S
7

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 .

Slut answered 10/10, 2020 at 16:32 Comment(3)
It still error user-images.githubusercontent.com/1328316/… . I hope you can help me.Theodicy
This is my host file gist.github.com/donhuvy/… seemly have problem at this IP. Let's me know how to fix.Theodicy
@DoNhuVy according to your hosts file the IP address you are looking for is: 192.168.1.44Slut
T
12

I'm a little late to this one, but you can just use the docker host loopback

host.docker.internal - this will resolve to the host ip

enter image description here

Timeworn answered 23/6, 2023 at 16:13 Comment(0)
T
11

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

Titanomachy answered 15/2, 2021 at 19:45 Comment(0)
S
7

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 .

Slut answered 10/10, 2020 at 16:32 Comment(3)
It still error user-images.githubusercontent.com/1328316/… . I hope you can help me.Theodicy
This is my host file gist.github.com/donhuvy/… seemly have problem at this IP. Let's me know how to fix.Theodicy
@DoNhuVy according to your hosts file the IP address you are looking for is: 192.168.1.44Slut
P
6

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

Platinic answered 10/10, 2020 at 19:43 Comment(0)
C
5

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.

Csch answered 10/10, 2020 at 17:17 Comment(0)
A
-1

you must put your Ip by ipconfig instead of localhost

And answered 29/5, 2022 at 7:35 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.