Deploy a VCH to an ESXi Host with No vCenter Server

This topic provides instructions for deploying a virtual container host (VCH) to an ESXi host that is not managed by vCenter Server. This is the most straightforward way to deploy a VCH, and is ideal for testing.


  • Deploy the vSphere Integrated Containers appliance. For information about deploying the appliance, see Deploy the vSphere Integrated Containers Appliance.
  • Download the vSphere Integrated Containers Engine bundle, vic_1.1.x-version.tar.gz, from https://vic_appliance_address:9443 and unpack it on your working machine. If you configured the appliance to use a different port for the file server, replace 9443 with the appropriate port.
  • Create or obtain an ESXi host with the following configuration:
    • One datastore
    • The VM Network is present
    • You can use a nested ESXi host for this example
  • Verify that the ESXi host meets the requirements in Environment Prerequisites for VCH Deployment.
  • Make sure that the correct firewall port is open on the ESXi host. For information about how to open ports on ESXi hosts, see Open the Required Ports on ESXi Hosts.
  • Familiarize yourself with the vSphere Integrated Containers Engine binaries, as described in Contents of the vSphere Integrated Containers Engine Binaries.
  • Familiarize yourself with the options of the vic-machine create command described in VCH Deployment Options.


  1. Open a terminal on the system on which you downloaded and unpacked the vSphere Integrated Containers Engine binary bundle.
  2. Navigate to the directory that contains the vic-machine utility:
  3. Run the vic-machine create command.

    Wrap any option arguments that include spaces or special characters in quotes. Use single quotes if you are using vic-machine on a Linux or Mac OS system and double quotes on a Windows system. In these examples, the password is wrapped in quotes because it contains @.

    • Linux OS:
      $ vic-machine-linux create
      --target esxi_host_address
      --user root
      --password 'esxi_host_p@ssword'
    • Windows:
      $ vic-machine-windows create
      --target esxi_host_address
      --user root
      --password "esxi_host_p@ssword"
    • Mac OS:
      $ vic-machine-darwin create
      --target esxi_host_address
      --user root
      --password 'esxi_host_p@ssword'

The vic-machine create command in this example specifies the minimum information required to deploy a VCH to an ESXi host:

  • The address of the ESXi host on which to deploy the VCH, in the --target option.
  • The ESXi host root user and password in the --user and --password options.
  • Disables the verification of clients that connect to this VCH by specifying the --no-tlsverify option.
  • Disables the verification of the ESXi host certificate by specifying the --force option.

Because the ESXi host only has only one datastore and uses the VM Network network, vic-machine create automatically detects and uses those resources.

When deploying to an ESXi host, vic-machine create creates a standard virtual switch and a port group for use as the container bridge network, so you do not need to specify any network options if you do not have specific network requirements.

This example deploys a VCH with the default name virtual-container-host.


At the end of a successful deployment, vic-machine displays information about the new VCH:

Initialization of appliance successful
VCH Admin Portal:
Published ports can be reached at:
Docker environment variables:
Environment saved in virtual-container-host/virtual-container-host.env
Connect to docker:
docker -H vch_address:2376 --tls info
Installer completed successfully

What to Do Next

To test your VCH, see Verify the Deployment of a VCH.

For examples of commands to deploy a VCH in various other vSphere configurations, see Advanced Examples of Deploying a VCH.

results matching ""

    No results matching ""