This is a brief follow up to my article on Docker networking: Network Namespaces, Docker Bridge and DNS Docker uses OverlayFS to manage the file system of its containers. When a container is run, Docker creates a new layer for the container’s file system on top of the base image. This allows the container to have its own file system that is isolated from the host system and other containers.
Ever wondered how docker compose lets you communicate between services? This article takes a high level look at network namespaces, Dockers internal DNS and Docker bridge. Network namespaces are a powerful feature in Linux that allows for the isolation of network stacks, creating multiple virtual networks on a single host. This concept is particularly useful for scenarios such as containerization, where each container needs its own independent network stack. In this article we’ll take a look at how docker / docker compose utilize this technology to grant containers network isolation and also take a look at how docker handles cross-container networking.
The advice I wish I had been given As someone with two decades of experience in the tech industry, I have been fortunate to have enjoyed success, but my path has been far from deliberate. In hindsight, there are some steps I could have taken to have increased my ability to be a better engineer and ultimately to have reached my goals sooner. If I could time travel, this is the advice I would give to my younger self:
When faced with a Python script how can you go about learning how it works / debugging issues? In this article I provide insight into my own flow which might help you wrangle that snake. This is a follow-up to my Golang debugging flow https://www.petermcconnell.com/posts/golang_debugging/
I was asked recently how to debug a Golang application and after-the-fact thought I should spend some time detailing the steps incase it’s of benefit to others. In short I use a debugger called Delve