Container images
An image is a binary distribution of software which is deployed to be run in a container. These images can be templates for an application, a database, an operating system, or other software. A rich collection of operating system and application images are available for you to use to provision infrastructure containers.
See the table of contents at the bottom of this page for more.
Container-native Linux images
Containers provisioned from lx-brand images work like native Linux where you can download and install Linux binaries using apt-get or yum repo. There are however a few limitations to note:
Software limitations
At this time the following features are not supported:
- Cgroup namespace is currently not supported.
- Certain socket and device system calls and options are not supported at this time. Please refer to the known issues published on smartos.org.
- Iptables is not supported due to its Linux kernel requirements. Read more about firewall functionality on Triton.
Guest tool limitations
The guest tools for the lx-brand images are being actively worked on. The following features are currently not supported:
- Setting the hostname of a container via the "hostname" metadata is currently not supported.
- Setting the dns resolvers (name servers) via the "resolvers" metadata is currently not supported.
- Smartlogin is currently not available for lx-brand images. The root ssh keys are added to /root/.ssh/authorized_keys at provision. Subsequent reboots will not update the root ssh keys (meaning, live ssh key updating of a container is not supported).
The above limitations can be partially addressed by taking advantage of the user-script feature. The special value metadata.user-script can be specified to provide a custom script which will be executed by the machine right after creation. This script can be specified using the command line option --script, which should be an absolute path to the file we want to upload to our machine:
sdc-createmachine --script /path/to/script.sh [other options]
The user-script can be a simple bash script that sets the desired hostname and nameservers in the container. User-script is run at each boot, so it can also be used to fetch updated ssh keys if required.