Pahlevi Fikri Auliya Pahlevi Fikri Auliya - 1 year ago 110
Python Question

How to execute host's Docker command from container?

I want to write Docker containers management script in Python. However, since I use CoreOS, Python is not included as standard command. So, I am thinking of using Python Docker container ( to execute my script. However, in that case the script will be executed in container's VM which doesn't have access to the host's Docker CLI.

Is there a way to use Python (or other programming languages not packaged in CoreOS), to manage host environment without installing it on the host machine?

PS, the script will do something like:

docker run/rm/stop <another container>;

Answer Source

If you make the Docker daemon reachable via HTTPS then you can communicate with the daemon from remote machines, or from within Docker containers. The instructions for enabling HTTPS in the daemon are here

In short it involves creating client and server certificates (for security) and running the Docker daemon with a command such as

docker -d --tlsverify --tlscacert=ca.pem \
--tlscert=server-cert.pem --tlskey=server-key.pem \

When running in this mode, you can use an appropriate client library for the programming language of your choice

There is one for python docker-py I haven't tried it but can say from experience this approach works using docker-java client library, having a Java program inside a container stopping and starting other containers.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download