7 pages about "Docker"

Dockerself - runtime self-dockerizer


dockerself is a program that creates a new Docker container, injects itself, and finally runs itself from within Docker.

For the record, I was working on pathwar (a security learning platform) and was trying to design the less-constraining way of creating new levels.

My current best idea is to inject a custom entrypoint when the platform starts a new container, instead of requiring the level developers to adapt their Dockerfile.

Additionally, to the simplicity that is added for a level developer, this pattern also has the advantage of always putting the latest version of the entrypoint, even if the image was not updated for a very long time.

Additional resources

Docker Machine driver for Scaleway

We just released the Docker Machine driver for Scaleway; You can now use Machine to create Docker hosts on Scaleway servers.

This tool comes as an alternative method of provisionning Docker engines on Scaleway and won’t replace the Docker Instant-App.

Using Docker-Machine, it is now very easy to create a Swarm cluster in minutes: script (output).

It is now easy to manage a Swarm cluster of hybrid servers (x86_64 + armhf).

It is also very convenient to use a Swarm cluster composed of Raspberry PI using the Hypriot OS and Scaleway servers together.


docker-diff is a mini tool to quickly compare the contents of two Docker images.

$ ./docker-diff alpine:3.2 alpine:3.3
< ---s--x--x 9944       bin/bbsuid
< -rwxr-xr-x 800936     bin/busybox
> -rwxr-xr-x 809128     bin/busybox
< lrwxrwxrwx 0          bin/rc-status
< -rwxr-xr-x 9872       bin/uniso
< drwxr-xr-x 0          etc/acpi/
< drwxr-xr-x 0          etc/acpi/PWRF/
< -rwxr-xr-x 19         etc/acpi/PWRF/00000080
< -rw-r--r-- 45         etc/apk/repositories
< -rw-r--r-- 12         etc/apk/world
> -rw-r--r-- 95         etc/apk/repositories
> -rw-r--r-- 51         etc/apk/world
< -rw-r--r-- 328        etc/conf.d/bootmisc
< -rw-r--r-- 876        etc/conf.d/consolefont
< -rw-r--r-- 55         etc/conf.d/cron
< -rw-r--r-- 348        etc/conf.d/devfs
< -rw-r--r-- 117        etc/conf.d/dmesg
< -rw-r--r-- 1402       etc/conf.d/fsck
< -rw-r--r-- 59         etc/conf.d/hostname
< -rw-r--r-- 857        etc/conf.d/hwclock
< -rw-r--r-- 911        etc/conf.d/keymaps

Docker + multiarch = 💖

Docker + multiarch = <3

Recently, I started the multiarch organization on GitHub.

Multiarch aims to provide

1. Docker images builds of Linux distributions for multiple architecture

full list on multiarch on Docker hub.

2. tools around multiarch

  • multiarch/docker-goxc: a ready-to-use goxc in Docker, build GO projects for multiple architectures from an x86_64 host
  • multiarch/true: minimalist Docker images for multiarch, ideal for testing runtime
  • multiarch/qemu-user-static: qemu-user-static Docker images for all architectures + a register special image that helps to configure the Kernel binfmt support
  • multiarch/crossbuild: multiarch cross compiling environments, cross-build C/C++ programs using Docker from an x86_64 host

3. Proof-of-concept around experimental multiarch support in Dockefile

Pathwar: unix levels

First version of the unix levels on Pathwar.

Until today, Pathwar was only about web-based level; But now, it’s also possible to have non-web levels thanks to ssh2docker.

Source code: