Medium, ย onย  Containers Submissions: 44/139

In this challenge, you'll need to troubleshoot a misbehaving container, identify the problem, and then restart the container, potentially rebuilding its image, to make the containerized application actually work.

The application is a simple web server that, upon receiving a request, calls the GitHub status API and proxies the response back to the client. You can access the application at http://localhost:8080.

The following conditions should be met for the solution to be accepted:

  • The application container should be named status-checker.
  • The application container should be listening on port 8080.
  • The unmodified server binary from the original image must be used.

Additionally, you'll need to make sure that the container still adheres to DevOps best practices:

  • The container image size should be less than 50MB.
  • There should be no shell in the container.

You can start, stop, and remove the container as many times as you want, using its original image or replacing it with your own.

Good luck!

Hint 1 ๐Ÿ’ก

Try sending an HTTP request to the application. The response may contain a clue.

Hint 2 ๐Ÿ’ก

Even when your application is a single statically linked binary, building a container image FROM scratch might be not the best idea.

Hint 3 ๐Ÿ’ก

Have you read this blog post? It might help.

Different types of distroless container images.
Hint 4 ๐Ÿ’ก

Follow the dynamic hints of the solution checker.

Level up your server-side game โ€” Join 6,600 engineers who receive insightful learning materials straight to their inbox