Cyphar's Bloghttps://www.cyphar.com/blog/tag/docker/posts.atom2016-12-20T19:20:00ZAleksa SaraiThe wild ramblings of Aleksa Sarai.Copyright (C) 2014-2020 Aleksa Sarai. Licensed under CC-BY-SA 4.0.WerkzeugDebugging why ping was Broken in Docker Imageshttps://www.cyphar.com/blog/post/20160304-docker-broken-ping2016-12-20T19:20:00Z2016-03-04T21:05:00ZAleksa Sarai<p>All complicated bugs start with the simplest of observations. I recently was assigned a bug on our openSUSE Docker images complaining that <code>ping</code> didn't work. After a couple of days of debugging, I was taken into a deep and dark world where ancient Unix concepts, esoteric filesystem features and new kernel privilege models culminate to produce this bug. Strap yourself in, this is going to be a fun ride.</p>Dockerinit and Dead Codehttps://www.cyphar.com/blog/post/20160121-dockerinit-and-dead-code2016-01-21T17:30:00Z2016-01-21T17:30:00ZAleksa Sarai<p>After running into insane amounts of very weird issues with <code>gccgo</code> with Docker, some of which were actual compiler bugs, someone on my team at SUSE asked the very pertinent question "just exactly what is dockerinit, and why are we packaging it?". I've since written a patch to remove it, but I thought I'd take the time to talk about <code>dockerinit</code> and more generally dead code (or more importantly, code that won't die).</p>Docker Internals and Implementing Rebasehttps://www.cyphar.com/blog/post/20151212-hackweek-13-docker-rebase2015-12-12T22:30:00Z2015-12-12T22:30:00ZAleksa Sarai<p><a href="https://hackweek.suse.com/">SUSE's semi-annual Hackweek</a> was last week and I decided to work on implementing <code>docker rebase</code>, mainly to learn about the internal image format of Docker and see whether it was possible to improve how the updating of Docker images works in practice (either rebuilding or <a href="https://github.com/SUSE/zypper-docker">zypper-docker</a>).</p>