In a computer system having a virtualization software on which a virtual machine is run, the virtualization software supporting execution of the virtual machine in which a container is run, the virtual machine comprising a guest operating system on which the container executes, the container comprising one or more applications deployed therein, a method of provisioning a first data volume and a second data volume for the container, the method comprising:
- monitoring, by the virtualization software, a designated virtual socket of the virtual machine, wherein the virtual socket enables the virtual machine to communicate with the virtualization software;
- based on said monitoring, detecting, by a component running within the virtualization software, a first request from a plug-in of the container to create the first data volume of the computer system, the plug-in providing an interface between the container and the virtualization software, the first data volume having first storage requirements, wherein the first data volume is backed by a storage device of a first type, wherein the virtualization software virtualizes the storage device of the first type, and further wherein the virtualization software is configured to provide an interface between the plug-in and the storage device;
- upon detecting the first request, communicating by the component the first request to the virtualization software to cause the virtualization software to create the first data volume having the first storage requirements;
- based on said monitoring, detecting by the component a second request from the plug-in of the container to create the second data volume of the computer system, the second data volume having second storage requirements, wherein the second data volume is backed by a storage device of a second type, and further wherein the virtualization software virtualizes the storage device of the second type;
- and
- upon detecting the second request, communicating by the component the second request to the virtualization software to cause the virtualization software to create the second data volume having the second storage requirements.