Cannot connect to redis running as container with boot2docker

jtblin picture jtblin · Aug 8, 2015 · Viewed 23.2k times · Source

On my MBP, with latest boot2docker installed, I have the following Dockerfile:

FROM redis:3.0.3
CMD redis-server --bind 0.0.0.0

I run the following:

docker build .
docker run --rm ba09b207db42 # where ba09b207db42 is the container id returned by the build command

Then I run:

redis-cli -h `boot2docker ip`

And I get the error:

Could not connect to Redis at 192.168.59.103:6379: Connection refused

What am I missing?

Answer

0x7d7b picture 0x7d7b · Aug 8, 2015

You forgot to expose the port. Simply run the container like this:

docker run --rm -p 6379:6379 ba09b207db42

Additionally:

  • You could give the image a name so you would not need to work with ids: docker build -t myimage .

  • You could then start the container in background so that it does not "block" your terminal: docker run --name mycontainer -d -p 6379:6379 myimage