In previous chapters, you learned about the Podman command line. The problem with this is sometimes you want to work with containers from a remote system. Similarly, you might want to write code in a scripting language to interact with containers. Docker, being written as a client-server application, supports a popular remote API, which led to the creation of libraries written in Python and JavaScript to access the daemon. Docker-py is a popular Python library used to interact with the Docker daemon.
Many CI/CD, GUI, and remote management systems have been built to manage Docker containers. Code editors like Visual Studio even have built-in plug-ins that talk directly to the Docker API. Advanced tools like docker-compose led to a new programming language that is used to orchestrate multiple containers on a host by interacting with the Docker daemon.