Inspecting containers with the docker exec command
When troubleshooting servers, the traditional way to debug is to log in and poke around the machine. With Docker, this typical workflow is split into two steps: the first is logging in to the Docker host using standard remote access tools such as SSH, and the second is entering the desired running container's process namespace with the docker exec
 command. This is useful as a last resort to debug what is happening inside our application.
For most of this chapter, we will troubleshoot and debug a Docker container running HAProxy. The following steps will prepare the sample container service:
- First, we will create the configuration for HAProxy named
haproxy.cfg
with the following content:
defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend stats bind 127.0.0.1:80 stats enable listen http-in bind *:80 server server1 www.debian.org:80
- Next, we will prepare a Compose file,Â
compose.yml...