As both a father of teenagers and a software engineer, I spend most of my time dealing with problems. Whether the problem is large or small, many times you can't find the cause of an issue by looking directly at it. Instead, you need to step back and investigate the environment where the situation exists. I realized this recently, when a colleague who presents on container technologies, including container managers[1] like Buildah[2] and Podman[3], asked me for help solving a problem with a demo script he was planning to show at a conference only a few days later.
The script had worked in the past but wasn't working now, and he was in a pinch. It's a demo script that creates a Fedora 28-based container using Buildah[4] and installs the NGINX HTTPD server within it. Then it uses Podman to run the container and kick off the NGINX server. Finally, the script does a quick curl
command to pull the index.html file to prove the server is up and responsive. All these commands had worked during setup and testing, but now the curl
was failing. (By the way, if you want to learn about Buildah or run a demo, take a look at my colleague's full script[5], as it is a great one to use.)
I talked to the folks on the Podman team, and they were not able to reproduce the issue, so I thought it might be a problem in Buildah. We did a flurry of debugging and checking in the config code to make sure the ports were being set up properly, the image was getting pulled correctly, and everything was saved. It all checked