Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

why I can't ping my docker container?

I run a docker container, which is named "redis". I want to use the "redis" container redis service, but I can't ping the container!

As the picture shows, my "redis" container is IP address is 172.17.0.15, but I can't connect to it.

I want to use the redis services. What is wrong with my configuration?

enter image description here

like image 215
allencharp Avatar asked Sep 08 '15 12:09

allencharp


People also ask

How do I ping a Docker service?

We can do this by running docker exec -it <CONTAINER ID> /bin/bash . Install the ping command and ping the service task running on the second node where it had a IP address of 10.0. 0.3 from the docker network inspect overnet command.


1 Answers

Because you're not on the same network. Containers are started on their own network by default, separate to the host's network.

If you run:

docker run -it debian ping 172.17.0.15

You should find it works. Even better, you can link containers and refer to them by name:

$ docker run -d --name redis redis
$ docker run --link redis:redis redis redis-cli -h redis ping
PONG

If you really want to access redis from your host, just publish a port through to the host:

$ docker run -d -p 6379:6379 redis

You should now be able to reach it at localhost:6379 on the host.

like image 188
Adrian Mouat Avatar answered Sep 23 '22 13:09

Adrian Mouat