Working with images
These instructions provide basic instructions on the process of creating images for both infrastructure containers (SmartOS) and hardware virtual machines (Windows, Linux, FreeBSD, and other systems that will run under KVM or bhyve).
Note: This document covers the process of working with Triton images. For a discussion of Docker images, please see Docker registries.
Note: This guide does not currently cover the process of creating a container-native linux image. Although similar in nature to the SmartOS process, there are some minor differences that will be addressed in future updates.
What are images
Images are master copies of operating systems. They contain the OS plus whatever data, scripts, and tools have been placed in them when the image was created. An image is designed to be deployed an infinite number of times. This means that images should not contain private data, and should not contain or rely on "instance specific" information, such as UUIDs, CPUIDs, MAC addresses, etc.
Note: It is important to note that the primary OS volume's disk size is fixed in HVM images, and will not change. For this reason, when a hardware virtual machine is provisioned it will contain a secondary disk, know as the "data" disk. This disk is variable in size, and can be adjusted by modifying package attributes.
Creating an image
- How to create a SmartOS image using create-image-from-machine
- How to create a Linux image using create-image-from-machine
- How to create a KVM image