Minimal Image: Size (& Number of Layers)
Hi,
thank you for providing easy to use docker images and sharing the Dockerfiles!
Since the original images are quite heavy in both total size and number of layers, I decided to create a little modification from it for a smaller image. I just wanted to let you know that the result with a minimal cuda install for Ubuntu 16.04, based on your recipe, can be found on your fork list under: https://gitlab.com/ax3l/docker-cuda
It is probably your intention to provide an as-complete-as-possible install, but maybe you find at least the number of reduced layers useful. (As far as I know the limit is 42 AUFS layers. Adding too many layers in a base image before user app can even add their own might become tricky for some of us downstream.)
I am not sure if you are interested in a smaller image size as mine, but from an app developer prespective a minimal CUDA would be totally fine (as below). Since you add a proper deb repo for following layers, additional software such as cuBLAS, cuFFT, cuSOLVE, etc. can just be added to a downstream image's apt-get install
line when needed.
I added all relevant information to the README and the changes are in a single commit on the branch ubuntu16.04-minimal
.
Provided Features
Runtime
- cuda RT
- setup of deb repo (if you need more installed such as cuBLAS, cuFFT, etc.)
Devel
- development headers for
- cuda core
- misc headers
- driver
- RT
- cmd line tools
- cuda NVML (+headers)
Size & Number of Layers
docker pull registry.gitlab.com/ax3l/docker-cuda:8.0-runtime-minimal
# 13 layers (-28%)
# 119.2 MB (-85%)
docker pull nvidia/cuda:8.0-runtime
# 18 layers
# 778.2 MB
and for the reduced development environment:
docker pull registry.gitlab.com/ax3l/docker-cuda:8.0-devel-minimal
# 16 layers (-24%)
# 403.9 MB (-76%)
docker pull nvidia/cuda:8.0-devel
# 21 layers
# 1.671 GB