Install on ubuntu

  $ sudo apt-get install -y make git gcc build-essential pkgconf libtool \
   libsystemd-dev libprotobuf-c-dev libcap-dev libseccomp-dev libyajl-dev \
   go-md2man autoconf python3 automake
  

ContainerD Configuration

  demo@sangam:~$ sudo mkdir -p /etc/containerd/
demo@sangam:~$ sudo tee /etc/containerd/config.toml > /dev/null <<EOT
version = 2
[plugins."io.containerd.runtime.v1.linux"]
  shim_debug = false
[plugins."io.containerd.grpc.v1.cri".containerd]
  default_runtime_name = "crun"
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.crun]
      runtime_type = "io.containerd.runc.v2"
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.crun.options]
        BinaryName = "/usr/local/bin/crun"
        SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc]
  runtime_type = "io.containerd.runsc.v1"
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runsc.options]
    SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
    endpoint = ["https:///mirror.blabla.com"]
[plugins."io.containerd.grpc.v1.cri".registry.configs."https://mirror.blabla.com".tls]
  insecure_skip_verify = true
EOT
  

retart containerd

  sudo systemctl restart containerd
  

install crun via binary

  demo@sangam:~$ sudo wget -O /usr/local/bin/crun https://github.com/containers/crun/releases/download/1.14.1/crun-1.14.1-linux-arm64
--2024-02-12 13:26:38--  https://github.com/containers/crun/releases/download/1.14.1/crun-1.14.1-linux-arm64
Resolving github.com (github.com)... 20.207.73.82
Connecting to github.com (github.com)|20.207.73.82|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/103446460/619d03a9-6b84-4fac-a92d-5be09717e733?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240212%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240212T132639Z&X-Amz-Expires=300&X-Amz-Signature=dba69c9cb3f2dde5423829fd647f067880de88e3d64cac1b81433f8c4ca68b1c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=103446460&response-content-disposition=attachment%3B%20filename%3Dcrun-1.14.1-linux-arm64&response-content-type=application%2Foctet-stream [following]
--2024-02-12 13:26:39--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/103446460/619d03a9-6b84-4fac-a92d-5be09717e733?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240212%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240212T132639Z&X-Amz-Expires=300&X-Amz-Signature=dba69c9cb3f2dde5423829fd647f067880de88e3d64cac1b81433f8c4ca68b1c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=103446460&response-content-disposition=attachment%3B%20filename%3Dcrun-1.14.1-linux-arm64&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.108.133, 185.199.110.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2578376 (2.5M) [application/octet-stream]
Saving to: ‘/usr/local/bin/crun’

/usr/local/bin/crun                                             100%[=====================================================================================================================================================>]   2.46M  --.-KB/s    in 0.1s    

2024-02-12 13:26:40 (18.5 MB/s) - ‘/usr/local/bin/crun’ saved [2578376/2578376]

demo@sangam:~$ sudo chmod +x /usr/local/bin/crun

demo@sangam:~$ sudo systemctl status containerd
● containerd.service - containerd container runtime
     Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-02-12 13:16:10 UTC; 5min ago
       Docs: https://containerd.io
    Process: 3701 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
   Main PID: 3702 (containerd)
      Tasks: 9
     Memory: 17.0M
        CPU: 2.184s
     CGroup: /system.slice/containerd.service
             └─3702 /usr/bin/containerd

Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184407637Z" level=info msg="Start subscribing containerd event"
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184447344Z" level=info msg=serving... address=/run/containerd/containerd.sock.ttrpc
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184467552Z" level=info msg=serving... address=/run/containerd/containerd.sock
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184489718Z" level=info msg="Start recovering state"
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184541342Z" level=info msg="Start event monitor"
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184567425Z" level=info msg="Start snapshots syncer"
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184592133Z" level=info msg="Start cni network conf syncer for default"
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.184614341Z" level=info msg="Start streaming server"
Feb 12 13:16:10 sangam systemd[1]: Started containerd container runtime.
Feb 12 13:16:10 sangam containerd[3702]: time="2024-02-12T13:16:10.186432221Z" level=info msg="containerd successfully booted in 0.018562s"
demo@sangam:~$ sudo ctr image ls
REF                                    TYPE                                       DIGEST                                                                  SIZE      PLATFORMS                                                                                                                                           LABELS 
docker.io/library/hello-world:latest   application/vnd.oci.image.index.v1+json    sha256:4bd78111b6914a99dbc560e6a20eab57ff6655aea4a80c50b0c5491968cbc2e6 13.4 KiB  linux/386,linux/amd64,linux/arm/v5,linux/arm/v7,linux/arm64/v8,linux/mips64le,linux/ppc64le,linux/riscv64,linux/s390x,unknown/unknown,windows/amd64 -      
docker.io/wasmedge/example-wasi:latest application/vnd.oci.image.manifest.v1+json sha256:93e459b5a06630acdc486600549c2722be11a985ffd48a349ee811053c60ac13 511.7 KiB linux/amd64                                                                                                                                         -      



 sudo ctr run --rm --runc-binary=/usr/local/bin/crun docker.io/library/hello-world:latest hello

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
  

Last updated 24 Feb 2024, 10:56 +0530 . history