Specify the Image Datastore
When you deploy a virtual container host (VCH), you must specify a datastore or datastore folder for use as the image store. The image store is the vSphere datastore in which to store container image files, container VM files, and the files for the VCH itself, including a creation log file.
You can also optionally change the base image size for container images.
Options
The sections in this topic each correspond to an entry in the Image Datastore section of the Storage Capacity page of the Create Virtual Container Host wizard, and to the corresponding vic-machine create
options.
Datastore
If you are deploying the VCH to a vCenter Server cluster, the datastore that you designate as the image store must be shared by at least two, but preferably all, ESXi hosts in the cluster. Using non-shared datastores is possible, but limits the use of vSphere features such as vSphere vMotion® and VMware vSphere Distributed Resource Scheduler™ (DRS). Using non-shared datastores might lead to situations in which all container VMs and image files are stored on a single host.
You can specify a datastore folder to use as the image store. If the folder that you specify does not already exist, vic-machine create
creates it.
When you deploy a VCH vic-machine
creates the following set of folders in the image datastore:
- A folder that contains the VM files of the VCH:
datastore_name/vch_name
This folder also includes a VCH creation log file namedvic-machine_timestamp_create_id.log
. - A key-value store folder for the VCH:
datastore_name/vch_name/kvstores
A folder in which to store all of the container images that you pull into the VCH.
- If you designate the whole datastore as the image store, images are stored in the following location:
datastore_name/vch_name/VIC/vch_uuid/images
- If you designate a datastore folder as the image store, images are stored in the following location:
datastore_name/path_to_folder/VIC/vcu_uuid/images
- If you designate the whole datastore as the image store, images are stored in the following location:
By specifying a datastore folder, you can designate the same datastore folder as the image store for multiple VCHs. Only one VIC
folder is created in the datastore, but it contains one vch_uuid/images
folder for each VCH that you deploy. By creating one vch_uuid/images
folder for each VCH, vSphere Integrated Containers Engine limits the potential for conflicts of image use between VCHs, even if you share the same image store folder between multiple hosts.
When container developers create and run containers, vSphere Integrated Containers Engine stores the files for container VMs at the top level of the image store, in folders that have the same names as the container VMs.
Create VCH Wizard
Specifying an image store is mandatory.
Select a datastore from the Datastore drop-down menu.
Select a datastore that is shared by at least two, but preferably all, hosts in a cluster.
- In the File folder text box, optionally enter the path to a folder in the specified datastore, to use to store image files.
vic-machine Option
--image-store
, -i
Specifying an image store is mandatory if there is more than one datastore in your vSphere environment. If there is only one datastore in your vSphere environment, vic-machine
uses it automatically and you do not need to specify the datastore. If you do not specify the --image-store
option and multiple possible datastores exist, or if you specify an invalid datastore name, vic-machine create
fails and suggests valid datastores in the failure message.
To specify a whole datastore as the image store, specify the datastore name in the --image-store
option:
--image-store datastore_name
To specify a datastore folder to use as the image store, include the path to the folder in the --image-store
option:
--image-store datastore_name/path/to/folder
Base Image Size
The size of the base image from which to create other container images. You should not normally need to use this option. Specify the size in GB
or MB
. The default size is 8GB. Images are thin-provisioned, so they do not usually consume 8GB of space. For information about container base images, see Create a base image in the Docker documentation.
Create VCH Wizard
- In the Max Container VM image size text box, leave the default value of 8, or enter a different value.
- Select GB or MB.
vic-machine Option
--base-image-size
, no short name
Specify a value in GB or MB. If not specified, vic-machine create
sets the image size to 8 GB.
--base-image-size 4GB
Storage Quota
To prevent a VCH from using too much storage capacity, for example when pulling large images into the VCH or running large numbers of container VMs from large images, you can set a limit on the amount of space in the image store that a VCH can consume. The storage quota is displayed in the output when you run docker info
against a VCH.
Create VCH Wizard
This option is not available in the Create VCH wizard
vic-machine Option
--storage-quota
, --sq
Specify a value in GB. If not specified, vic-machine create
does not set a maximum limit on the amount of storage that the VCH can consume.
--storage-quota 500
What to Do Next
If you are using the Create Virtual Container Host wizard, scroll down the page to specify Volume Datastores.
Example vic-machine
Commmand
This example vic-machine create
command deploys a VCH that uses the folder vch1_images
in datastore1
as the image store, and limits the amount of space that the VCH can use to 500GB.
vic-machine-operating_system create --target 'Administrator@vsphere.local':password@vcenter_server_address/dc1 --compute-resource cluster1 --image-store datastore1/vch1_images --bridge-network vch1-bridge --public-network vic-public --name vch1 --thumbprint certificate_thumbprint --storage-quota 500 --no-tlsverify