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 |
- #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.
docker run --rm -ti microbox/redis:latest --help
docker run --rm -ti microbox/rethinkdb:latest --help
docker run --rm -ti microbox/etcd:latest --help
docker run -d -p 22:22 -p 3000:3000 -v /data/gogs:/data microbox/gogs
docker run -d -p 8080:8080 -e URL="postgres://user:password@host:port/database?sslmode=[mode]" microbox/pgweb
docker run -d -p 9000:9000 -v /var/run/docker.sock:/docker.sock microbox/dockerui
Visit http://docker-ip:9000/ to see the WebUI for docker
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.
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.
Please vote here, we will add more images according to your suggestions.