Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ aliases:

Docker is an open-source project that makes creating and managing Linux containers really easy. Containers are like extremely lightweight VMs – they allow code to run in isolation from other containers but safely share the machine’s resources, all without the overhead of a hypervisor.

Docker containers can boot extremely fast (in milliseconds!) which gives you unprecedented flexibility in managing load across your cluster. For example, instead of running chef on each of your VMs, it’s faster and more reliable to have your build system create a container and launch it on the appropriate number of Flatcar Container Linux hosts. This guide will show you how to launch a container, install some software on it, commit that container, and optionally launch it on another Flatcar Container Linux machine. Before starting, make sure you've got at least one Flatcar Container Linux machine up and running — try it on [Amazon EC2][aws-ec2] or locally with [Vagrant][vagrant].
Docker containers can boot extremely fast (in milliseconds!) which gives you unprecedented flexibility in managing load across your cluster. For example, instead of running chef on each of your VMs, it’s faster and more reliable to have your build system create a container and launch it on the appropriate number of Flatcar Container Linux hosts. This guide will show you how to launch a container, install some software on it, commit that container, and optionally launch it on another Flatcar Container Linux machine. Before starting, make sure you've got at least one Flatcar Container Linux machine up and running — try it on [Amazon EC2][aws-ec2] or locally with [QEMU].

## Docker CLI basics

Expand Down Expand Up @@ -169,7 +169,7 @@ docker run -d -p 80:80 registry.example.com:5000/myname/myapache /usr/sbin/apach
* [docker's Getting Started Guide](https://docs.docker.com/mac/started/)

[aws-ec2]: ../installing/cloud/aws-ec2
[vagrant]: ../installing/vms/vagrant
[QEMU]: ../installing/vms/qemu
[docker-cli]: https://docs.docker.com/engine/reference/commandline/cli/
[docker-signup]: https://hub.docker.com/account/signup/
[systemd-getting-started]: ../setup/systemd/getting-started
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ The platforms and providers listed below each provide support and documentation

* [Exoscale][exoscale]
* [OVHcloud][ovhcloud]
* [Rackspace Cloud][rackspace]
* [Scaleway][scaleway]
* [Vultr VPS][vultr]

Expand All @@ -28,7 +27,6 @@ The platforms and providers listed below each provide support and documentation
* [VirtualBox][virtualbox]

[exoscale]: exoscale
[rackspace]: rackspace
[vultr]: vultr
[eucalyptus]: eucalyptus
[scaleway]: scaleway
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ There are two predominant ways that a Flatcar Container Linux image can be easil

### Ignition

[Ignition][ignition] is a tool that acquires a JSON config file when a machine first boots, and uses this config to perform tasks such as formatting disks, creating files, modifying and creating users, and adding systemd units. How Ignition acquires this config file varies per-platform, and it is highly recommended that providers ensure Ignition supports their respective platform. In addition to providers supported by [upstream Ignition][ign-platforms], Flatcar [supports](https://github.com/flatcar/scripts/blob/main/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/files/0016-revert-internal-oem-drop-noop-OEMs.patch) cloudsigma, rackspace[-onmetal], and vagrant.
[Ignition][ignition] is a tool that acquires a JSON config file when a machine first boots, and uses this config to perform tasks such as formatting disks, creating files, modifying and creating users, and adding systemd units. How Ignition acquires this config file varies per-platform, and it is highly recommended that providers ensure Ignition supports their respective platform. The list of providers supported by Ignition can be found [upstream][ign-platforms]. If your image introduces a new OEM sysext with a name that is not recognised as a provider by Ignition, then you must add a fallback to Flatcar's [bootengine].

It is recommended that providers ensure that [Afterburn][coreos-metadata] has support for their platform. This will allow a nicer user experience, as Afterburn will be able to install users' ssh keys and users will be able to reference metadata variables in their systemd units.

Expand All @@ -61,3 +61,4 @@ Flatcar Container Linux will automatically parse and execute `/usr/share/oem/clo
End-users should be able to provide an Ignition file to your platform while specifying their VM's parameters. This file should be made available to Flatcar Container Linux at the time of boot (e.g. at known network address, injected directly onto disk). Examples of these data sources can be found in the [Ignition documentation][ign-platforms].

[ign-platforms]: https://github.com/coreos/ignition/blob/main/docs/supported-platforms.md
[bootengine]: https://github.com/flatcar/bootengine/blob/32aede10a3d9e20036ead7e2dc45242f0f273f45/dracut/53ignition/ignition-setup-pre.sh#L36
229 changes: 0 additions & 229 deletions content/docs/latest/installing/community-platforms/rackspace.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ The OEM partition is also useful to force a particular Ignition configuration to
For example, `flatcar-install` offers to write a `config.ign` Ignition file to the OEM partition through the `-i` flag.
This file is used as preferred Ignition configuration even when Ignition cloud instance userdata is present. With the special `oem:///` file URL the config can copy files from the OEM Partition to the root filesystem (note: in case you have many binaries, the OEM partition may be too small and you have to either host them somewhere or place them directly on the root filesystem, see the next section).

The `grub.cfg` file gets sourced by GRUB to set up the OEM ID which is used by systemd units to be started conditionally, or to set up kernel parameters like the Ignition config URL (`ignition.config.url`, to fetch the preferred config remotely), or settings required for the hardware.
Again, a good example is the [`grub.cfg` file](https://github.com/flatcar/coreos-overlay/blob/ad9c06df2c34be3c6d50ffb80f886bdae10b4809/coreos-base/oem-packet/files/grub.cfg) used for Equinix Metal images to set the OEM ID and the kernel parameter `flatcar.autologin` to be able to use the serial console without having to configure a user password.
The `grub.cfg` file gets sourced by GRUB to set up the OEM ID which is used by systemd units to be started conditionally, or to set up kernel parameters like the Ignition config URL (`ignition.config.url`, to fetch the preferred config remotely), or settings required for the hardware. Again, a good example is the [`grub.cfg` file](https://github.com/flatcar/scripts/blob/400b4dabd4ca0229f336950c8d5e54959700145e/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/azure/grub.cfg.frag) used in Azure images, which sets the OEM ID, configures the serial console per-architecture, and adds the `flatcar.autologin` kernel parameter to spawn a console shell automatically without a password.

### Customizing the root partition

Expand Down
Loading
Loading