Skip to content

vishal-biyani/docker-volume-vsphere

 
 

Repository files navigation

Build Status Go Report Card Join the chat at https://gitter.im/vmware/docker-volume-vsphere Docker Pulls VIB_Download

vSphere Docker Volume Service

vSphere Docker Volume Service (vDVS) enables customers to address persistent storage requirements for Docker containers in vSphere environments. This service is integrated with Docker Volume Plugin framework. Docker users can now consume vSphere Storage (vSAN, VMFS, NFS) to stateful containers using Docker.

vDVS is Docker Certified to use with Docker Enterprise Edition and available in Docker store.

To read more about code development and testing please read CONTRIBUTING.md as well as the FAQ on the project site.

Detailed documentation

Detailed documentation can be found on our GitHub Documentation Page.

Download

Click here to download from Github releases

The download consists of 2 parts:

  1. VIB (vDVS driver): The ESX code is packaged as a vib or an offline depot
  2. Managed plugin (vDVS plugin): Plugin is available on Docker store.

Pick the latest release and use the same version of vDVS plugin (on Docker host VM) and driver (on ESX).

Demos

The demos are located on the project site and wiki

Project Website

Project page is located @ https://vmware.github.io/docker-volume-vsphere/. Documentation, FAQ and other content can be found @ https://vmware.github.io/docker-volume-vsphere/documentation

Installation Instructions

On ESX

Install vSphere Installation Bundle (VIB). Please refer to vSphere documentation.

Install using localcli on an ESX node

esxcli software vib install -v /tmp/<vib_name>.vib

Make sure you provide the absolute path to the .vib file or the install will fail.

On Docker Host (VM)

Managed Plugin

Please make sure to uninstall older releases of DEB/RPM using following commands.

sudo dpkg -r docker-volume-vsphere # Ubuntu or deb based distros
sudo rpm -e docker-volume-vsphere # Photon or rpm based distros

For Docker 1.13 and above, install managed plugin from Docker Store.

docker plugin install --grant-all-permissions --alias vsphere vmware/docker-volume-vsphere:latest

Using DEB/RPM

For Docker 1.12 and earlier, use DEB or RPM package.

sudo dpkg -i <name>.deb # Ubuntu or deb based distros
sudo rpm -ivh <name>.rpm # Photon or rpm based distros

Note: DEB/RPM packages will be deprecated going forward and will not be available.

Using Docker CLI

Refer to tenancy documentation for setting up tenants.

# To select datastore use --name=MyVolume@<Datastore Name>
$ docker volume create --driver=vsphere --name=MyVolume -o size=10gb
$ docker volume ls
$ docker volume inspect MyVolume
# To select datastore use MyVolume@<Datastore Name>
$ docker run --rm -it -v MyVolume:/mnt/myvol busybox
$ cd /mnt/myvol # to access volume inside container, exit to quit
$ docker volume rm MyVolume

Using ESXi Admin CLI

$ /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py volume ls

Logging

The relevant logging for debugging consists of the following:

  • Docker Logs
  • Plugin logs - VM (docker-side)
  • Plugin logs - ESX (server-side)

Docker logs: see https://docs.docker.com/engine/admin/logging/overview/

/var/log/upstart/docker.log # Upstart
journalctl -fu docker.service # Journalctl/Systemd

VM (Docker-side) Plugin logs

  • Log location: /var/log/docker-volume-vsphere.log
  • Config file location: /etc/docker-volume-vsphere.conf.
  • This JSON-formatted file controls logs retention, size for rotation and log location. Example:
 {"MaxLogAgeDays": 28,
 "MaxLogSizeMb": 100,
 "LogPath": "/var/log/docker-volume-vsphere.log"}
  • Turning on debug logging: You can change the log level by passing VDVS_LOG_LEVEL key to docker plugin install, e.g.
 docker plugin install --grant-all-permissions --alias vsphere vmware/docker-volume-vsphere:latest VDVS_LOG_LEVEL=debug

ESX Plugin logs

  • Log location: /var/log/vmware/vmdk_ops.log
  • Config file location: /etc/vmware/vmdkops/log_config.json See Python logging config format for content details.
  • Turning on debug logging: replace all 'INFO' with 'DEBUG' in config file, restart the service

Tested on

VMware ESXi:

  • 6.0, 6.0U1, 6.0U2
  • 6.5

Guest Operating System:

Docker: 1.12 and higher (Recommended 1.13/17.03 and above to use managed plugin)

Known Issues

  • Multi-tenancy feature is limited to single ESX #1032

Contact us

Public

Blogs

Packages

No packages published

Languages

  • Python 67.5%
  • Go 13.3%
  • JavaScript 5.5%
  • Shell 5.1%
  • C 5.0%
  • Makefile 3.1%
  • Other 0.5%