<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Container Runtimes on Flatcar Container Linux</title>
		<link>/docs/latest/orchestrate/containers/</link>
		<description>Recent content in Container Runtimes on Flatcar Container Linux</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
			<copyright>Copyright © The Flatcar Project Contributors.

Copyright © Flatcar a Series of LF Projects, LLC.

For website terms of use, trademark policy and other project policies please see &lt;a href=&#34;https://lfprojects.org/policies/&#34;&gt;lfprojects.org/policies&lt;/a&gt;.
</copyright>
		
		
			<atom:link href="/docs/latest/orchestrate/containers/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Getting started with Docker</title>
				<link>/docs/latest/orchestrate/containers/getting-started-with-docker/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/latest/orchestrate/containers/getting-started-with-docker/</guid>
				<description>&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;p&gt;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&amp;rsquo;ve got at least one Flatcar Container Linux machine up and running — try it on &#xA;&#xA;&#xA;&lt;a href=&#34;/docs/latest/deploy/cloud/aws-ec2/&#34;&gt;Amazon EC2&lt;/a&gt;&#xA; or locally with &#xA;&#xA;&#xA;&lt;a href=&#34;/docs/latest/deploy/virt-options/qemu/&#34;&gt;QEMU&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Incus</title>
				<link>/docs/latest/orchestrate/containers/incus/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/latest/orchestrate/containers/incus/</guid>
				<description>&lt;p&gt;While Flatcar proposes Containerd and Docker by default, &#xA;&#xA;&#xA;&lt;a href=&#34;https://linuxcontainers.org/incus/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Incus&lt;/a&gt;&#xA; can be used to run containers. The goal of this guide is not to re-write the Incus documentation but to give key aspects of Incus usage on Flatcar.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installing-incus&#34;&gt;Installing Incus&lt;/h2&gt;&#xA;&lt;p&gt;Incus is provided as an &#xA;&#xA;&#xA;&lt;a href=&#34;https://www.flatcar.org/docs/latest/provisioning/sysext/#flatcar-release-extensions-official&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;official&lt;/a&gt;&#xA; Systemd sysext Flatcar extension. To install it automatically at boot:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;# config.yaml&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#008000&#34;&gt;# butane &amp;lt; config.yaml &amp;gt; config.json&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;variant: flatcar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;version: 1.1.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;storage:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  files:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - path: /etc/subuid&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      append:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        - inline: |&lt;span style=&#34;color:#a31515&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a31515&#34;&gt;            root:1065536:65536&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - path: /etc/subgid&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      append:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        - inline: |&lt;span style=&#34;color:#a31515&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a31515&#34;&gt;            root:1065536:65536&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - path: /etc/flatcar/enabled-sysext.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      contents:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        inline: |&lt;span style=&#34;color:#a31515&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a31515&#34;&gt;          incus&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once the instance booted, &lt;code&gt;incus&lt;/code&gt; command is available and &lt;code&gt;incus.{socket,service}&lt;/code&gt; are started. Note: the &lt;code&gt;core&lt;/code&gt; user is added by default to the &lt;code&gt;incus-admin&lt;/code&gt; group.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Switching to Unified Cgroups</title>
				<link>/docs/latest/orchestrate/containers/switching-to-unified-cgroups/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/latest/orchestrate/containers/switching-to-unified-cgroups/</guid>
				<description>&lt;p&gt;Beginning with Flatcar version 2969.0.0, Flatcar Linux has migrated to the unified&#xA;cgroup hierarchy (aka cgroup v2). Much of the container ecosystem has already&#xA;moved to default to cgroup v2. Cgroup v2 brings exciting new features in&#xA;areas such as eBPF and rootless containers.&lt;/p&gt;&#xA;&lt;p&gt;Flatcar nodes deployed prior to this change will be kept on cgroups v1 (legacy&#xA;hierarchy) and will require manual migration. During an update from an older&#xA;Flatcar version, a post update script does two things:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Customizing Docker</title>
				<link>/docs/latest/orchestrate/containers/customizing-docker/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/latest/orchestrate/containers/customizing-docker/</guid>
				<description>&lt;p&gt;The Docker systemd unit can be customized by overriding the unit that ships with the default Flatcar Container Linux settings or through a drop-in unit. Common use-cases for doing this are covered below.&lt;/p&gt;&#xA;&lt;p&gt;For switching to using containerd with Kubernetes, there is an &#xA;&#xA;&#xA;&lt;a href=&#34;/docs/latest/orchestrate/kubernetes/getting-started-with-kubernetes/&#34;&gt;extra guide&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;use-a-custom-containerd-configuration&#34;&gt;Use a custom containerd configuration&lt;/h2&gt;&#xA;&lt;p&gt;The default configuration under &lt;code&gt;/usr/share/containerd/config.toml&lt;/code&gt; can&amp;rsquo;t be changed but you can copy it to &lt;code&gt;/etc/containerd/config.toml&lt;/code&gt; and modify it.&lt;/p&gt;&#xA;&lt;p&gt;Create a &lt;code&gt;/etc/systemd/system/containerd.service.d/10-use-custom-config.conf&lt;/code&gt; unit drop-in file to select the new configuration:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Authenticating to Container Registries</title>
				<link>/docs/latest/orchestrate/containers/registry-authentication/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/latest/orchestrate/containers/registry-authentication/</guid>
				<description>&lt;p&gt;Many container image registries require authentication. This document explains how to configure container management software like Docker, Kubernetes, rkt, and Mesos to authenticate with and pull containers from registries like &#xA;&#xA;&#xA;&lt;a href=&#34;https://quay.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Quay&lt;/a&gt;&#xA; and &#xA;&#xA;&#xA;&lt;a href=&#34;https://hub.docker.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Docker Hub&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-a-quay-robot-for-registry-auth&#34;&gt;Using a Quay robot for registry auth&lt;/h2&gt;&#xA;&lt;p&gt;The recommended way to authenticate container manager software with &#xA;&#xA;&#xA;&lt;a href=&#34;https://quay.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;quay.io&lt;/a&gt;&#xA; is via a &#xA;&#xA;&#xA;&lt;a href=&#34;https://docs.quay.io/glossary/robot-accounts.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Quay Robot&lt;/a&gt;&#xA;. The robot account acts as an authentication token with some nice features, including:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Readymade repository authentication configuration files&lt;/li&gt;&#xA;&lt;li&gt;Credentials are limited to specific repositories&lt;/li&gt;&#xA;&lt;li&gt;Choose from read, write, or admin privileges&lt;/li&gt;&#xA;&lt;li&gt;Token regeneration&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../../img/quay-robot-screen.png&#34; alt=&#34;Quay Robot settings&#34;&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
