Microbox
Congrats! You found the smallest docker images for distribution.
If people can reduce their docker image size by 50%. That means they saved half of the expenses on disks and network.
But we can reduce the size above 90%. Redis only 7MB, Etcd only 17MB and Rethinkdb only 50MB.
| image | size | versions |
|---|---|---|
| microbox/rethinkdb | 68MB |
latest 2.0.4 1.16.3 1.15.1 1.15.0
|
| microbox/influxdb | 21MB |
latest 0.9.2
|
| microbox/redis | 7MB |
latest 2.8.19 2.8.18 2.8.17 2.8.16 2.8.15 2.8.14 2.8.13 2.8.12 2.8.11 2.8.10 2.6.17
|
| microbox/gogs | 44MB |
latest 0.6.4 0.6.1 0.5.6
|
| microbox/pgweb | 15MB |
latest 0.6.2 0.5.1
|
| microbox/etcd | 17MB |
latest 0.4.9 0.4.6
|
| microbox/dockerui | 16MB |
latest 0.7.0 0.5.0 0.4.0
|
Known Issues
- #8518 #5632 The automated build of Docker Hub will double the image size. We are switching to manual build until Docker Hub resolve this issue.
Usage
docker run --rm -ti microbox/redis:latest --helpdocker run --rm -ti microbox/rethinkdb:latest --helpdocker run --rm -ti microbox/etcd:latest --helpLanuch your first gogs server
docker run -d -p 22:22 -p 3000:3000 -v /data/gogs:/data microbox/gogsManage your postgres database
docker run -d -p 8080:8080 -e URL="postgres://user:password@host:port/database?sslmode=[mode]" microbox/pgwebManage docker in browser
docker run -d -p 9000:9000 -v /var/run/docker.sock:/docker.sock microbox/dockeruiVisit http://docker-ip:9000/ to see the WebUI for docker
Why it's so small?
If you are using SSD, you will realized the size does matter. The images are build from official binaries or source code using buildroot. Then remove the unnecessary files e.g. compilers, head file, cli tools, documents, man, libs and replacing the whole OS with busybox.
The images are only include the essential files that is strictly required for that particular application. If say in Java words. The official image is JDK. Microbox is JRE.
Don't ship your software with OS
Really, you shouldn't put the whole OS into the docker image at most of the time. Docker is using Linux namespace (cgroup) to isolate the processes. It's more like a process management tool. Most of the files are not required to run your application. You don't need include them when you ship your image as a service. If you want to see what's happen in the container, please use nsenter or docker exec in Docker 1.3.
I want more Microbox images
Please vote here, we will add more images according to your suggestions.