Debugging from outside Docker
Even though Docker isolates the network, memory, CPU, and storage resources inside containers, each individual container will still have to go to the Docker host's operating system to perform the actual command. We can take advantage of this trickling down of calls to the host operating system to intercept and debug our Docker containers from the outside. In this section, we will cover some selected tools and how to use them to interact with our Docker containers. We can perform the interaction from the Docker host itself or from inside a sibling container with elevated privileges to see some components of the Docker host.
Tracing system calls
A system call tracer is one of the essential tools for server operations. It is a utility that intercepts and traces calls made by the application to the operating system. Each operating system has its own variation. Even if we run various applications and processes inside our Docker containers, it will eventually enter...