...
1# <a name="VirtualMachineSpecificContainerConfiguration" /> Virtual-machine-specific Container Configuration
2
3This section describes the schema for the [virtual-machine-specific section](config.md#platform-specific-configuration) of the [container configuration](config.md).
4The virtual-machine container specification provides additional configuration for the hypervisor, kernel, and image.
5
6## <a name="HypervisorObject" /> Hypervisor Object
7
8**`hypervisor`** (object, OPTIONAL) specifies details of the hypervisor that manages the container virtual machine.
9* **`path`** (string, REQUIRED) path to the hypervisor binary that manages the container virtual machine.
10 This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
11* **`parameters`** (array of strings, OPTIONAL) specifies an array of parameters to pass to the hypervisor.
12
13### Example
14
15```json
16 "hypervisor": {
17 "path": "/path/to/vmm",
18 "parameters": ["opts1=foo", "opts2=bar"]
19 }
20```
21
22## <a name="KernelObject" /> Kernel Object
23
24**`kernel`** (object, REQUIRED) specifies details of the kernel to boot the container virtual machine with.
25* **`path`** (string, REQUIRED) path to the kernel used to boot the container virtual machine.
26 This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
27* **`parameters`** (array of strings, OPTIONAL) specifies an array of parameters to pass to the kernel.
28* **`initrd`** (string, OPTIONAL) path to an initial ramdisk to be used by the container virtual machine.
29 This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
30
31### Example
32
33```json
34 "kernel": {
35 "path": "/path/to/vmlinuz",
36 "parameters": ["foo=bar", "hello world"],
37 "initrd": "/path/to/initrd.img"
38 }
39```
40
41## <a name="ImageObject" /> Image Object
42
43**`image`** (object, OPTIONAL) specifies details of the image that contains the root filesystem for the container virtual machine.
44* **`path`** (string, REQUIRED) path to the container virtual machine root image.
45 This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
46* **`format`** (string, REQUIRED) format of the container virtual machine root image. Commonly supported formats are:
47 * **`raw`** [raw disk image format][raw-image-format]. Unset values for `format` will default to that format.
48 * **`qcow2`** [QEMU image format][qcow2-image-format].
49 * **`vdi`** [VirtualBox 1.1 compatible image format][vdi-image-format].
50 * **`vmdk`** [VMware compatible image format][vmdk-image-format].
51 * **`vhd`** [Virtual Hard Disk image format][vhd-image-format].
52
53This image contains the root filesystem that the virtual machine **`kernel`** will boot into, not to be confused with the container root filesystem itself. The latter, as specified by **`path`** from the [Root Configuration](config.md#Root-Configuration) section, will be mounted inside the virtual machine at a location chosen by the virtual-machine-based runtime.
54
55### Example
56
57```json
58 "image": {
59 "path": "/path/to/vm/rootfs.img",
60 "format": "raw"
61 }
62```
63
64[raw-image-format]: https://en.wikipedia.org/wiki/IMG_(file_format)
65[qcow2-image-format]: https://git.qemu.org/?p=qemu.git;a=blob_plain;f=docs/interop/qcow2.txt;hb=HEAD
66[vdi-image-format]: https://forensicswiki.org/wiki/Virtual_Disk_Image_(VDI)
67[vmdk-image-format]: http://www.vmware.com/app/vmdk/?src=vmdk
68[vhd-image-format]: https://github.com/libyal/libvhdi/blob/master/documentation/Virtual%20Hard%20Disk%20(VHD)%20image%20format.asciidoc
View as plain text