Skip to content

Commit 42bdc2a

Browse files
Merge pull request #1978 from jasonrandrews/review
New install guide no Finch
2 parents 4500225 + 6e0e05e commit 42bdc2a

File tree

1 file changed

+187
-0
lines changed

1 file changed

+187
-0
lines changed

content/install-guides/finch.md

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
---
2+
title: Finch
3+
author: Jason Andrews
4+
5+
draft: true
6+
7+
minutes_to_complete: 10
8+
9+
official_docs: https://runfinch.com/docs/
10+
11+
additional_search_terms:
12+
- containerd
13+
- Docker
14+
- Finch
15+
16+
test_images:
17+
- ubuntu:latest
18+
test_maintenance: false
19+
20+
tool_install: true
21+
layout: installtoolsall
22+
multi_install: false
23+
multitool_install_part: false
24+
weight: 1
25+
---
26+
27+
[Finch](https://runfinch.com) is an open-source container development tool from AWS that provides a simple, Docker-compatible CLI for working with containers using containerd and nerdctl under the hood. Finch is designed for Linux, macOS, and Windows, and is especially useful on Arm-based systems for efficient container workflows.
28+
29+
This guide explains how to install and use Finch on Arm Linux distributions, specifically Amazon Linux 2023 and Ubuntu 24.04.
30+
31+
To use Finch as described in this install guide, you need a system running Arm Linux. You can use a physical Arm device, a cloud instance from AWS, Azure, GCP, or OCI, or an Arm-based virtual machine.
32+
33+
To confirm the architecture, run:
34+
35+
```bash
36+
uname -m
37+
```
38+
39+
The output is `aarch64` for 64-bit Arm systems.
40+
41+
## How do I install Finch on Amazon Linux 2023 for Arm?
42+
43+
Finch is available as an RPM package in the standard Amazon Linux 2023 repositories, making installation simple.
44+
45+
Install Finch using the package manager:
46+
47+
```console
48+
sudo yum install runfinch-finch -y
49+
```
50+
51+
Enable and start the containerd service:
52+
53+
```console
54+
sudo systemctl start containerd
55+
```
56+
57+
Confirm that the containerd service is running:
58+
59+
```console
60+
sudo systemctl status containerd
61+
```
62+
63+
The output shows the status:
64+
65+
```output
66+
● containerd.service - containerd container runtime
67+
Loaded: loaded (/usr/lib/systemd/system/containerd.service; disabled; preset: disabled)
68+
Active: active (running) since Wed 2025-05-21 19:49:50 UTC; 40s ago
69+
Docs: https://containerd.io
70+
Process: 25839 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
71+
Main PID: 25841 (containerd)
72+
Tasks: 10
73+
Memory: 160.5M
74+
CPU: 1.771s
75+
CGroup: /system.slice/containerd.service
76+
└─25841 /usr/bin/containerd
77+
```
78+
79+
The `finch` command is now available in your PATH. You can now skip to the section on verifying the Finch installation.
80+
81+
## How do I install Finch on Ubuntu 24.04 for Arm?
82+
83+
Finch does not provide a Debian package for Ubuntu, but you can install it manually as described below.
84+
85+
### What are the required Finch dependencies?
86+
87+
First, install Nerdctl by following the instructions in the [Nerdctl install guide](/install-guides/nerdctl/).
88+
89+
You will also need various tools to build Finch. Install them using:
90+
91+
```console
92+
sudo apt install -y \
93+
golang \
94+
make \
95+
build-essential
96+
```
97+
98+
### How do I build Finch from source code?
99+
100+
Run the commands below to download and build Finch from source:
101+
102+
```console
103+
git clone https://github.com/runfinch/finch.git
104+
cd finch
105+
git submodule update --init --recursive
106+
make
107+
sudo make install
108+
```
109+
110+
### How do I configure Finch?
111+
112+
Create the Finch configuration directories:
113+
114+
```bash
115+
sudo mkdir -p /etc/finch
116+
sudo mkdir -p /usr/libexec/finch
117+
```
118+
119+
Create the Finch configuration file:
120+
121+
```bash
122+
cat << EOF | sudo tee /etc/finch/finch.yaml > /dev/null
123+
# cpus: the amount of vCPU to dedicate to the virtual machine. (required)
124+
cpus: 2
125+
126+
# memory: the amount of memory to dedicate to the virtual machine. (required)
127+
memory: 2GiB
128+
129+
# snapshotters: the snapshotters a user wants to use (the first snapshotter will be set as the default snapshotter)
130+
snapshotters:
131+
- overlayfs
132+
133+
# dockercompat: a configuration parameter to activate finch functionality to accept Docker-like commands and arguments.
134+
dockercompat: true
135+
EOF
136+
```
137+
138+
Configure Nerdctl:
139+
140+
```bash
141+
sudo ln -sf $(which nerdctl) /usr/libexec/finch/nerdctl
142+
```
143+
144+
After these steps, the `finch` command is available in your PATH.
145+
146+
## How do I verify the Finch installation?
147+
148+
You can check the Finch version:
149+
150+
```bash
151+
sudo finch --version
152+
```
153+
154+
The version is printed:
155+
156+
```output
157+
finch version v1.8.2
158+
```
159+
160+
Run a simple container to confirm Finch is working:
161+
162+
```bash
163+
sudo finch run --rm armswdev/uname
164+
```
165+
166+
If you see the architecture printed, then Finch is working correctly. The expected output is:
167+
168+
```output
169+
Architecture is aarch64
170+
```
171+
172+
Print the container images on your system:
173+
174+
```bash
175+
sudo finch images
176+
```
177+
178+
The output is similar to:
179+
180+
```output
181+
REPOSITORY TAG IMAGE ID CREATED PLATFORM SIZE BLOB SIZE
182+
armswdev/uname latest 82762f30a4a3 43 seconds ago linux/arm64 110.4MB 28.89MB
183+
```
184+
185+
Use `sudo finch help` to discover additional Finch commands.
186+
187+
You are ready to use Finch to run containers on your Arm Linux system.

0 commit comments

Comments
 (0)