How to Mount Nutanix Storage in Docker Swarm with the DVP Plugin
This step‑by‑step guide shows how to install Nutanix's Docker Volume Plug‑in (DVP), configure iSCSI connectivity, create persistent volumes in Docker Swarm, deploy Docker Datacenter components, and run an ownCloud service backed by Nutanix storage.
1 Installation and Configuration
The Nutanix Docker Volume Plug‑in (DVP) enables persistent storage for Docker Swarm, Mesos/DCOS, and Kubernetes by connecting Docker hosts to Nutanix storage via iSCSI. The guide uses CentOS 7.3 and Docker CE 17.03.1‑ce.
docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Mon Mar 27 17:05:44 2017 OS/Arch: linux/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Experimental: false
Docker CE repository configuration ( /etc/yum.repos.d/docker-ce.repo) is shown, followed by a yum repolist confirming the enabled repos.
yum install -y docker-ce systemctl enable docker systemctl start docker systemctl status docker
After Docker is running, the DVP plug‑in is installed.
docker plugin install ntnx/nutanix_volume_plugin PRISM_IP="10.68.69.22" DATASERVICES_IP="10.68.69.23" PRISM_PASSWORD="nutanix/4u" PRISM_USERNAME="admin" DEFAULT_CONTAINER="ddc-sc1" --alias nutanix # The plugin requests host network and several mount privileges. # Answer "y" to grant permissions. # Pulls the plug‑in image and installs it.
Verification of the plug‑in:
docker plugin ls ID NAME DESCRIPTION ENABLED f0e38fbc11b3 nutanix:latest Nutanix volume plugin for docker true
Test the plug‑in by creating a volume:
docker volume create testvol -d nutanix:latest docker volume ls
The created volume appears in the Nutanix Prism UI under Storage → Volume Group.
After confirming the volume, it is removed with:
docker volume rm testvol
2 Deploy Docker Datacenter (UCP, DTR, Workers)
Four VMs are cloned from a Nutanix snapshot: one UCP manager, one DTR node, and two worker nodes (2 vCPU, 4 GB RAM, 50 GB disk each).
UCP installation (offline package) steps:
wget https://packages.docker.com/caas/ucp_images_2.1.4.tar.gz -O docker-datacenter.tar.gz docker load < docker-datacenter.tar.gz docker run --rm -it --name ucp \ -v /var/run/docker.sock:/var/run/docker.sock \ docker/ucp:2.1.4 install \ --host-address 10.68.69.12 \ --interactive
After UCP is up, the join token is recorded and used on each worker:
docker swarm join \ --token SWMTKN-1-... \ 10.68.69.12:2377
DTR installation (requires internet) uses:
docker run -it --rm \ docker/dtr:2.2.5 install \ --ucp-node 10.68.69.12 \ --ucp-insecure-tls
OwnCloud image is pushed to DTR:
docker login dtr.zenlab.local docker pull owncloud docker tag owncloud:latest dtr.zenlab.local/admin/owncloud:latest docker push dtr.zenlab.local/admin/owncloud:latest
3 Using DVP in Docker Swarm
Through the UCP UI, a new volume is created with the DVP driver (e.g., sizeMb=500000). The volume appears in Prism as a new Volume Group.
OwnCloud service is then deployed via UCP:
Service name and image (owncloud) are specified.
Ports and the previously created DVP volume are attached.
Deploy the service and verify it reaches the "Running" state.
Access the service through the published port, log in, and upload files to confirm persistence.
4 Validation and High‑Availability Test
Delete the running ownCloud container.
Observe the service automatically recreates the container.
After recovery, log back into ownCloud.
Verify previously uploaded files are still present, proving DVP’s data durability.
5 Summary
Nutanix provides a hyper‑converged platform that, together with the Nutanix DVP, offers persistent storage for containers across Docker Swarm, Mesos/DCOS, and Kubernetes. The guide demonstrates end‑to‑end installation, volume creation, and a real‑world application (ownCloud) to validate the solution.
Future articles will cover testing with Kubernetes and other orchestration platforms.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
