1

Is it possible to launch different Docker containers with different storage drivers? For example, container 1 with AUFS and container 2 with Overlay2?

3

If you look at the documentation, you'll see that the choice of storage driver is configured at the level of the Docker daemon. All of the containers and images managed by the same Docker daemon will share the storage driver.

This makes logical sense, once you understand how the storage driver works. Briefly, the concept is that the storage driver manages the interactions between the layers of a Docker image. When you pull down an image from a Docker repository, the storage driver configuration on your system determines how it will be stored and managed locally on your system. Different storage drivers handle the implementation differently, and the layers managed by one storage driver will be incompatible with another storage driver. The documentation also notes that changing the storage driver configuration on a system will render the existing containers and images inaccessible.

The choice of the storage driver is dependent upon several factors, such as the level of support offered by your system, as well as the characteristics of your workload.

For a more detailed explanation, see About storage drivers & Select a storage driver from the Docker documentation.

Finally, if you want to use different storage drivers for different containers, you can look at running multiple docker daemons, either on the same host or on different hosts. The image data and container data cannot be shared between such daemons, because the implementations are incompatible as noted above.

  • Thanks...I have gone through the official docker documentation and your comment made this more clearer now. What i have understood is that switching docker storage driver will make my existing image and container incompatible hence it can be deleted. Is there any implementation, that can migrate the image and container from one storage driver to another? – Rajnish Kumar Soni Apr 6 at 6:28
  • 1
    If you're looking for a way to preserve your images while you change the storage driver configuration, the documentation covers that too. You could use docker save to get a portable tarball of your image, or push it to an external registry. – Haxiel Apr 6 at 7:38
  • Thanks again.... – Rajnish Kumar Soni Apr 6 at 7:41
  • my further reading revealed that overlay merge image all image layers into lower layer using hard link implementation which cause inode overhead. Can you please explain this? As i know that creating hardlink does not create new inode. – Rajnish Kumar Soni Apr 6 at 16:20
  • @RajnishKumarSoni That query is significantly different from the current question. Please post that as a new question, and I will try to answer it if possible. – Haxiel Apr 6 at 16:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.