|
| 1 | +# <a name="VirtualMachineSpecificContainerConfiguration" /> Virtual-machine-specific Container Configuration |
| 2 | + |
| 3 | +This section describes the schema for the [virtual-machine-specific section](config.md#platform-specific-configuration) of the [container configuration](config.md). |
| 4 | +The 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 | + |
| 53 | +This 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 |
0 commit comments