Access Docker host from container

adamkdean

Adam K Dean

Posted on June 10, 2014

Access Docker host from container

Docker 1.0 has just been announced, and one thing I was looking forward to was the introspection API which Solomon Hykes said was coming in 1.0. Unfortunately, it doesn't look like it has. This is a shame because it would allow the container to communicate with the host in a scoped and controlled manner.

For a small R&D project I just worked on, I had a 'gateway' container which would receive HTTP traffic and route it to other containers. For this it needed to have access to docker on the host so that it could index the containers and access their configurations, such as local IP addresses.

The way I got this to work was to install docker on the container, let's say this is the ubuntu-docker Dockerfile:

FROM ubuntu

# Install Docker
RUN apt-get install docker.io -y
RUN ln -sf /usr/bin/docker.io /usr/local/bin/docker

CMD /bin/bash
Enter fullscreen mode Exit fullscreen mode

Once that's built, I mount docker.sock to the container when running it like so:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock ubuntu-docker
Enter fullscreen mode Exit fullscreen mode

Now if you were to run docker commands on the container, you'd actually be running them on the host. Bearing in mind that this is not a complete how to, I may write a full walkthrough if anyone needs it.

💖 💪 🙅 🚩
adamkdean
Adam K Dean

Posted on June 10, 2014

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related