Docker runs native in Linux. For Windows you have a couple of options: the first one is installing the Docker Developer Tools as seen in my previous post. This option basically creates a light weight Linux machine in Windows. The second option is using an external Linux machine. In this blog post I will walk through the process of connecting Eclipse to an existing running Linux server which is running Docker.

You need to have Eclipse MARS in your Windows Dev machine and then install the Docker tools. The first thing you need to configure is your daemon to listen to TCP connections because it only listens to the local Unix socket by default. To do this you need to run the following command in the console in order to bind your daemon to the host IP/port and display the incoming traffic (the port is usually 2375):
docker -H IP_ADDRESS:PORT -d &

The next step is opening the Docker Tooling perspective and connecting your Windows Dev machine with the Linux daemon. You will only need to enter the TCP address of the daemon, that’s something like: tcp://IP_ADDRESS:PORT.

docker_connection

Once you have connected to the docker daemon, the tooling perspective in Eclipse will show you the list of containers and images reported from Linux as seen in the image below. From my point of view this very valuable since commands like docker version or docker inspect will show you unformatted information which is hard to read whereas Eclipse will fit this nicely on the screen.

docker_perspective

The next step is launching a container from the list of images. In order to do that you just right click on an image and select run.

docker_run

Eclipse will present you with several options to run your container, including environment variables, entry points, volumes, links to other containers and others as seen in the screenshot below.

docker_run_settings

A final interesting point to note is that the Docker Tooling keeps pooling the docker REST API as seen in the following trace where the call HTTP GET /containers/json?all=1 is constantly invoked.

ssh_output

enjoy

Javier Andrés Cáceres Alvis

Microsoft Most Valuable Professional – MVP

Intel Black Belt Software Developer