cri-dockerd VS compose-spec

Compare cri-dockerd vs compose-spec and see what are their differences.

cri-dockerd

dockerd as a compliant Container Runtime Interface for Kubernetes (by Mirantis)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
cri-dockerd compose-spec
11 24
956 2,064
2.5% 2.2%
8.4 8.3
5 days ago 4 days ago
Go Dockerfile
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

cri-dockerd

Posts with mentions or reviews of cri-dockerd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-10.
  • How to create a 3-node kubernetes cluster and deploy an application on my ubuntu 22.04 minibox
    2 projects | dev.to | 10 Jan 2024
    $ wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9.amd64.tgz $ tar zxvf cri-dockerd-0.3.9.amd64.tgz $ cd cri-dockerd $ sudo mkdir -p /usr/local/bin $ sudo install -o root -g root -m 0755 cri-dockerd/usr/local/bin/cri-dockerd $ mkdir foo; cd foo $ git clone [email protected]:Mirantis/cri-dockerd.git $ cd cri-dockerd $ sudo install packaging/systemd/* /etc/systemd/system $ sudo sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service $ sudo systemctl daemon-reload $ sudo systemctl enable --now cri-docker.socket
  • expected a 32 byte SHA-256 hash, found 24 bytes
    1 project | /r/kubernetes | 1 Jun 2023
    1 project | /r/linuxadmin | 1 Jun 2023
    I installed cri-dockerd using this documentation https://github.com/Mirantis/cri-dockerd
  • Is docker "a thing" at companies that use Kubernetes?
    1 project | /r/kubernetes | 8 Jan 2023
    99% of what you just said is completely incorrect. containerd is not a facade for Docker, in fact the Docker engine is a facade for containerd. The OCI spec is also not a facade for Docker, Docker is simply one application which can create OCI compliant images which can be executed by runtimes like runc. Kubernetes has zero facades for Docker, unless you count the optional open-source cri-dockerd.
  • Kubeadm cluster - no connections to services
    1 project | /r/kubernetes | 7 Nov 2022
    https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ Adjust netplan for static IP Adding br_netfilter and overlay to kernel Creating /etc/modules-load.d/k8s.conf with bridging and forwarding https://kubernetes.io/docs/setup/production-environment/container-runtimes/#forwarding-ipv4-and-letting-iptables-see-bridged-traffic Installing docker components https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker Installing cri-dockerd https://github.com/Mirantis/cri-dockerd Disabling swap https://graspingtech.com/disable-swap-ubuntu/ install kubeadm kubectl kubelet https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
  • Problems with setting up the cluster with kubeadm
    1 project | /r/kubernetes | 26 Oct 2022
    Im trying to learn how to set up kubernetes cluster with kubeadm. Im using official kubernetes documentation ( maybe there is a better source?). My goal is to set it up with cri-dockerd and systemd. And to be honest its quite hard task to do it. Informations are scattered arround with links and sometimes its hard to know the order which steps should be executed. I have 2 Virtualbox machines, connected together with NAT network. A master and worker node. I performed these steps on both of them: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ Adjust netplan for static IP Adding br_netfilter and overlay to kernel Creating /etc/modules-load.d/k8s.conf with bridging and forwarding https://kubernetes.io/docs/setup/production-environment/container-runtimes/#forwarding-ipv4-and-letting-iptables-see-bridged-traffic Installing docker components https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker Installing cri-dockerd https://github.com/Mirantis/cri-dockerd Disabling swap install kubeadm kubectl kubelet https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ configure kubelet cgroup driver https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/ So currently im at the configuring cgroup driver. I tried to execute kubeadm init kubeadm-config.yaml but kubeadm found 2 CRI endpoints. So i tried to point the correct one with this command kubeadm join --cri-socket /var/run/cri-dockerd.sock but i got discover:Invalid value: ::: bootstrapToken or file must be set And now im completely lost. And also im confused is this a moment for installing CNI (probably i will try with Calico) for pod communication or should i start the cluster first?
  • Kubernetes Architecture Explained: Worker Nodes in a Cluster
    4 projects | dev.to | 8 Aug 2022
    But not to worry, you can still use Docker as a container runtime in Kubernetes using the cri-dockerd adapter. cri-dockerd provides a shim for Docker Engine that lets you control Docker via the Kubernetes CRI. ****
  • CRI-dockerd is an adapter that provides a shim for Docker Engine that lets you control Docker via the Kubernetes Container Runtime Interface
    2 projects | /r/kubernetes | 16 Jun 2022
  • Kubernetes 1.24 Released: What’s New?
    3 projects | dev.to | 11 May 2022
    As of version 1.24, either one of the other supported runtimes (e.g. containerd or CRI-O) or, in case you still want to rely on Docker Engine, cri-dockerd must be used. Further information on precautions that may be necessary due to the removal of Dockershim is provided by Kubernetes in a guide.
  • Podman 4.0.0
    15 projects | news.ycombinator.com | 22 Feb 2022
    Kubernetes requires a tool which implements the Container Runtime Interface, a standardized API for starting & managing containers. This is from 2015-2016[1].

    For a while Kubernetes has included something called the "dockershim", it's own implementation of a CRI interface that, under the hood, calls Docker or Podman. There's also tools like kind[2] ("kubernetes in docker") that go further- not just hosting Kubernetes worker containers in Docker, but hosting the main kubernetes daemons also in Docker.

    Kubernetes deprecated Dockershim, formally in December 2020, but is just throwing the switch now in the upcoming 1.24, expected mid-April[3]. A company Mirantis has pledged to take over support of Dockershim[4], and is calling the new effort "cri-dockerd"[5]. This should allow Kubernetes workers to continue to run via Docker or Podman.

    Kind is unaffected, since it runs the main Kubernetes controllers in Docker, which then launch their own opencontainerd (one off the main CRI implementations) inside that Docker container, nested like, so no dockership/cri-dockerd is needed).

    [1] https://kubernetes.io/blog/2016/12/container-runtime-interfa...

    [2] https://kind.sigs.k8s.io/

    [3] https://kubernetes.io/blog/2022/01/07/kubernetes-is-moving-o...

    [4] https://www.mirantis.com/blog/mirantis-to-take-over-support-...

    [5] https://github.com/Mirantis/cri-dockerd

compose-spec

Posts with mentions or reviews of compose-spec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-30.
  • One Minute: Compose
    4 projects | dev.to | 30 Mar 2024
    Specification: https://compose-spec.io
  • Podman Desktop v1.5 with Compose onboarding and enhanced Kubernetes pod data
    11 projects | news.ycombinator.com | 3 Nov 2023
    https://github.com/compose-spec/compose-spec/blob/master/spe...
  • How “It works in my machine” turns to “It works in my container”
    1 project | news.ycombinator.com | 26 Jul 2023
    There are a number of incorrect statements in this post.

    1) One should neither be using the "latest" nor just the "version" tag as the version can still vary depending on when it is pulled.

    Instead, one should use a combination of version + hash, say alpine:3.18.2@sha256:82d1e9d7ed48a7523bdebc18cf6290bdb97b82302a8a9c27d4fe885949ea94d1 for reproducibility reasons. This provides for human readable versions as well as the specific hash.

    2) Next, afaik, Compose has removed the need for version tags. All of the compose.yml files that I now use do not specify versions.

    See https://github.com/compose-spec/compose-spec/blob/master/04-...

  • Telegraf Deployment Strategies with Docker Compose
    2 projects | dev.to | 21 Jul 2023
    Docker Compose v2 specifications provide a useful Secrets feature which may also be used for standalone Compose Application Stacks and not just in Docker Swarm mode. With Docker Secrets the environment variables that contain credentials for other subsystems are mounted into the Telegraf Container as files. These secret files are read through the Docker Secret Store plugin and passed to the respective plugins in a relatively safe manner. By using the Docker Secret Store Plugin, one can also avoid credentials that were previously visible via environment variables, to be now hidden behind runtime secret files within the container. Standard Method with Environment Variables As an example, it is possible to pass the credentials to a plugin via the environment variable placeholder in a telegraf configuration file where the credentials for a plugin exist in a .env file (e.g. MQTT input Plugin)
  • Some options missing for me.
    1 project | /r/Ombi | 13 Jun 2023
    also the docker-compose.yml file is very picky about what you have in it and where. Please read this so you know how to format it https://github.com/compose-spec/compose-spec/blob/master/spec.md
  • Persistent Volume Claim Volume Specific Options?
    2 projects | /r/podman | 4 Jun 2023
    As part my quadlet helper tool, podlet, I'm adding functionality to convert compose files into k8s yaml to use with quadlet as an alternative to creating a bunch of separate quadlet files, which I've also added functionality for. So I would like to be able to transform the options on compose volumes into k8s yaml. For example, using the volume.podman.io/driver annotation to change the volume driver for a specific volume if possible.
  • New Docker Goodies: Init and Watch
    3 projects | dev.to | 2 May 2023
    If you find this helpful feature, please leave your feedback and suggestions here.
  • When I create a docker-compose file to deploy multiple containers, do the different versions of each compose file matter?
    1 project | /r/docker | 12 Feb 2023
    The compose spec will give what you need. https://github.com/compose-spec/compose-spec/blob/master/spec.md
  • Why Does Everything Say Docker Compose is Deprecated / Dead?
    5 projects | /r/docker | 31 Aug 2022
    Indeed, as per the compose-spec a lot of what was version specific is going away
  • A compose file visualization tool that follows compose-spec and allows you to gernerate graph in several formats.
    2 projects | /r/docker | 27 May 2022
    Hello everyone, I just made a tool to visualize compose files, and all the parsing rules follow the [compose-spec](https://github.com/compose-spec/compose-spec/blob/master/spec.md). I hope this tool will help you :D

What are some alternatives?

When comparing cri-dockerd and compose-spec you can also consider the following projects:

containerd - An open and reliable container runtime

docker-pi-hole - Pi-hole in a docker container

cri-o - Open Container Initiative-based implementation of Kubernetes Container Runtime Interface

psutil - Cross-platform lib for process and system monitoring in Python

compose-cli - Easily run your Compose application to the cloud with compose-cli

pexpect - A Python module for controlling interactive programs in a pseudo-terminal

nerdctl - contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...

SaltStack - Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:

mariadb-podman-socket-activation - Demo of a templated systemd user service that runs rootless Podman and starts MariaDB with socket activation

Fabtools - Tools for writing awesome Fabric files

enhancements - Enhancements tracking repo for Kubernetes

Docker Compose - Define and run multi-container applications with Docker