A rich collection of operating system and application images are available on images.joyent.com and the Triton Compute Service for you to use to provision infrastructure containers.
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:
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. Firewall functionality is available via CloudAPI: https://apidocs.joyent.com/cloudapi/#firewallrules
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.
Images: Table of Contents
- Container-native Alpine Linux image
- Container-native CentOS image
- Container-native Couchbase Linux image
- Container-native Debian image
- Container-native Percona Linux image
- Container-native PostgreSQL Linux image
- Container-native MongoDB Linux image
- Container-native Nginx Linux image
- Container-native Node.js Linux image
- Container-native Ubuntu image
- Brocade Virtual Traffic Manager (vTM)
- MySQL Cluster
- Percona Cluster
- Managing a SmartOS instance
- Creating your own infrastructure container images