nerdctl
colima
Our great sponsors
nerdctl | colima | |
---|---|---|
33 | 110 | |
7,384 | 16,793 | |
2.9% | - | |
9.6 | 8.2 | |
2 days ago | 10 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nerdctl
-
Colima k8s nix setup
What about the docker-cli? colima also ships with a docker-compatible cli to interact with containerd called nerdctl. We can execute the same docker cli commands like:
- Nerdctl v2 Beta
-
Nginx Unit – Universal web app server
Using nerdctl: https://github.com/containerd/nerdctl
I'd really disagree that compose files are somehow one-shot, or blindly modified. To the contrary, really, we have them checked in with the source code. Upon deployment to the cluster, the (running) services will be intelligently updated or replaced (in a rolling manner, causing zero downtime). LXC might be more elegant, but I have no idea what simple, file-based format I could use to let engineers describe the environment their app should run in without compose.
I need something that even junior devs can start up with a single command, that can be placed in the VCS along with the code, and that will not require deep Linux knowledge to get running. Open for suggestions here, really.
-
Jenkins Agents On Kubernetes
Now since Kubernetes works off of containerd I'll be taking a different approach on handling container builds by using nerdctl and the buildkit that comes bundled with it. I'll do this on the amd64 control plane node since it's beefier than my Raspberry Pi workers for handling builds and build related services. Go ahead and download and unpack the latest nerdctl release as of writing (make sure to check the release page in case there's a new one):
-
Going through a Kubernetes training with autogenerated captions and about half are coming up like this.
That's why nerdctl, their cli binary, is so well named.
-
Python + containerd? Who might be interested?
Well, it is indeed a good option. However, containerd is a good alternative that is growing even among developers. Please see: https://github.com/containerd/nerdctl
-
How to own your own Docker Registry address
Nerdctl/containerd has IPFS support :)
https://github.com/containerd/nerdctl/blob/main/docs/ipfs.md
-
DockerHub replacement stratagy and options
nerdctl supports IPFS for both image pulling and pushing, including encrypted images and eStargz lazy pulling. For building, the current method is a locally hosted translator so that the traditional pulls can be converted to work over IPFS. They even have docs on running it on k8s node, though if my reading is correct this isn't exactly a cloud native approach (running systemd services on each node...).
- Docker's deleting Open Source images and here's what you need to know
- Release v1.0.0 · containerd/nerdctl
colima
-
Lcl.host: fast, easy HTTPS in your local dev environment
If you don't need a GUI, the following combo works pretty well:
- https://github.com/abiosoft/colima
- https://github.com/peterldowns/localias
-
Damn Small Linux 2024
You might look into CoLima as a way to get started.
https://github.com/abiosoft/colima?tab=readme-ov-file
Its user interface is Docker-like, using containers.
For full desktop, I've only used the commercial app "Parallels", which can set up an Ubuntu desktop for you. Also Fedora and Alpine and Debian I believe.
But
> I don't really have any resources to share. I just know how to boot a vmlinuz with an initramfs using QEMU, and decided to download the Linux kernel source code and try compiling it.
I highly recommend working through Linux from Scratch and possibly the Gentoo Handbook. It's a journey.
-
Howto: WASM runtimes in Docker / Colima
I could not find any guide how to add WASM container capability to Docker running on Colima. This guide provides a few Colima templates for exactly this, which adds WasmEdge, Wasmtime and Wasmer runtime types.
-
RamRamRamEveryoneSleepingOnDocker
Colima runs much faster on Macos: https://github.com/abiosoft/colima
-
Podman Desktop v1.5 with Compose onboarding and enhanced Kubernetes pod data
After docker desktop became unusable, I jumped to colima and never looked back. I still use the docker runtime in it (the non-proprietary part) but it also supports containerd. On Mac it's just a "brew install colima" and then "colima start"
I also install the compose and ecr credentials plug-ins (since I use ecr for my container registry.) It has the full functionality of docker desktop minus the UI, which I never used anyways.
https://github.com/abiosoft/colima
-
K3s – Lightweight Kubernetes
On my M1 Pro system, I have nothing but positive things to say about the experience of using Colima (https://github.com/abiosoft/colima). Quick to set up and fast to use.
- abiosoft/colima
-
UTM – Virtual Machines for iOS and macOS
I'd say Lima and Colima should be enough for most use cases:
https://lima-vm.io/
https://github.com/abiosoft/colima
-
Lazydocker
The bash/zsh equivalent wouldn't be too hard, but I use fish.
[0] https://github.com/abiosoft/colima, https://hn.algolia.com/?q=https%3A%2F%2Fgithub.com%2Fabiosof...
[1] https://orbstack.dev [3], https://hn.algolia.com/?q=https%3A%2F%2Forbstack.dev
[2] https://github.com/abiosoft/colima#customizing-the-vm and https://github.com/abiosoft/colima/blob/main/docs/FAQ.md#edi...
[3] I’m on OrbStack now, but it isn’t so much better at how I use Docker than Colima is that I think that it’s an instant buy, especially with the planned subscription model. If I used anything other than the Docker integration, I might think it's better, but as of right now, no.
I also have some issues with its insistence on asking for elevated permissions. I will never grant permission[4] to make a symlink to the "standard" Docker socket; context and `$DOCKER_HOST` work well enough. It should not ask if the permission hasn't been given once. I also worry about other "advanced" features that may need an elevated permissions helper[5].
[4] https://github.com/orbstack/orbstack/issues/281#issuecomment...
[5] https://github.com/orbstack/orbstack/issues/281#issuecomment... and following
- FLaNK Stack Weekly for 17 July 2023
What are some alternatives?
lima - Linux virtual machines, with a focus on running containers
podman-compose - a script to run docker-compose.yml using podman
Podman Desktop - Podman Desktop - A graphical tool for developing on containers and Kubernetes
kaniko - Build Container Images In Kubernetes
minikube - Run Kubernetes locally
podman - Podman: A tool for managing OCI containers and pods.
rd - Container Management and Kubernetes on the Desktop
Moby - The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
k3s - Lightweight Kubernetes
multipass - Multipass orchestrates virtual Ubuntu instances