Skip to content

support containerd listen on --address=fd:// #6087

@dungdm93

Description

@dungdm93

What is the problem you're trying to solve

As Docker gradually moves to paid subscription, I'd like to use continaerd & nerdctl instead. However, nerdctl need to be run as root or require containerd run in rootless mode.
It would be nice if have a way to nerdctl access system containerd (from non-root user) and provide same experiment as docker does.

Describe the solution you'd like

Any non-root users can interact with docker as long as they are in docker group. It's because /var/run/docker.sock which controlled by docker.socket run as mod 0660 and group docker:
Screenshot from 2021-10-06 10-25-21
And then in docker.service, it use socket pre-created from systemd (-H fd://) instead of create its own (Moby code)
Screenshot from 2021-10-06 10-29-39

In containerd side, when I run /usr/bin/containerd -a fd://, I got the following error:
Screenshot from 2021-10-06 10-56-47

I look like ttrpc socket issue.

Additional context

> containerd --version
containerd containerd.io 1.4.11 5b46e404f6b9f661a205e28d59c982d3634148f8
> docker version
Client: Docker Engine - Community
 Version:           20.10.9
 API version:       1.41
 Go version:        go1.16.8
 Git commit:        c2ea9bc
 Built:             Mon Oct  4 16:08:29 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.9
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.8
  Git commit:       79ea9d3
  Built:            Mon Oct  4 16:06:37 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Enhancement.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions