I find some info that says dockerd creates containers via runc. However, those containers created by the docker cannot be managed by runc. While the containers created by the podman can be managed by the runc directly.
Docker:
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 1931 1 20 0 807236 90420 - Ssl ? 1:13 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
0 0 2139 1 20 0 113116 7432 - Sl ? 0:28 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 7f3fa77ddad85e82619b21d6fd9bde8c6
4 0 2163 2139 20 0 10636 6032 - Ss ? 0:00 \_ nginx: master process nginx -g daemon off;
5 101 2217 2163 20 0 11032 2560 - S ? 0:00 \_ nginx: worker process
0 0 2240 1 20 0 111964 6584 - Sl ? 0:28 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 05ebb62bc6557c76f9d4494bbd2262e9f
4 0 2261 2240 20 0 10636 5988 - Ss ? 0:00 \_ nginx: master process nginx -g daemon off;
5 101 2319 2261 20 0 11032 2760 - S ? 0:00 \_ nginx: worker process
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
05ebb62bc655 nginx "/docker-entrypoint.…" 6 days ago Up 6 days 80/tcp nginx2
7f3fa77ddad8 nginx "/docker-entrypoint.…" 6 days ago Up 6 days 80/tcp nginx1
$ runc list
ID PID STATUS BUNDLE CREATED OWNER
Podman:
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
1 0 128933 1 20 0 143820 2196 x64_sy Ssl ? 0:00 /usr/bin/conmon --api-version 1 -c 2d37331cea4eb213189db820840c9d3bf3f9abc4a9d92ca4225
4 0 128942 128933 20 0 10640 5980 - Ss ? 0:00 \_ nginx: master process nginx -g daemon off;
5 101 128976 128942 20 0 11036 2564 do_epo S ? 0:00 \_ nginx: worker process
1 0 129276 1 20 0 143820 2324 x64_sy Ssl ? 0:00 /usr/bin/conmon --api-version 1 -c 2bf3a1f5fdd479cf1402984322f9d09a2b22149d6f01d776049
4 0 129285 129276 20 0 10640 5940 - Ss ? 0:00 \_ nginx: master process nginx -g daemon off;
5 101 129320 129285 20 0 11036 2632 do_epo S ? 0:00 \_ nginx: worker process
❯ podman container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2bf3a1f5fdd4 docker.io/library/nginx:latest nginx -g daemon o... 6 days ago Up 6 days ago nginx1
2d37331cea4e docker.io/library/nginx:latest nginx -g daemon o... 6 days ago Up 6 days ago nginx2
❯ runc list
ID PID STATUS BUNDLE CREATED OWNER
2bf3a1f5fdd479cf1402984322f9d09a2b22149d6f01d7760493e482253ed2c3 129285 running /var/lib/containers/storage/overlay-containers/2bf3a1f5fdd479cf1402984322f9d09a2b22149d6f01d7760493e482253ed2c3/userdata 2021-03-17T08:04:13.948219157Z root
2d37331cea4eb213189db820840c9d3bf3f9abc4a9d92ca42253520cbe2b6710 128942 running /var/lib/containers/storage/overlay-containers/2d37331cea4eb213189db820840c9d3bf3f9abc4a9d92ca42253520cbe2b6710/userdata 2021-03-17T08:03:40.961730347Z root
Docker starts containers in /run/docker/runtime-runc/moby/
and /run/docker/runtime-runc/plugins.moby/
. You can see them with runc
by using --root
option:
~# runc --root /run/docker/runtime-runc/moby/ list
ID PID STATUS BUNDLE CREATED OWNER
4a81e5e9babc18e2bd7eaf560a9d0ab1bff7fb9145acacd9445d313f2b40f3ef 4159 running /run/containerd/io.containerd.runtime.v2.task/moby/4a81e5e9babc18e2bd7eaf560a9d0ab1bff7fb9145acacd9445d313f2b40f3ef 2021-05-14T06:26:25.894963575Z root
9e88f71c7f4814d87252b2defcb22aa5c851511d8ed27dd1b4d260a116358090 5072 running /run/containerd/io.containerd.runtime.v2.task/moby/9e88f71c7f4814d87252b2defcb22aa5c851511d8ed27dd1b4d260a116358090 2021-05-14T06:26:34.330942248Z root
aba4e2c0534a0d79bafa19a81aa412eb61848451ebfa1122af58197d3c8a8f39 4169 running /run/containerd/io.containerd.runtime.v2.task/moby/aba4e2c0534a0d79bafa19a81aa412eb61848451ebfa1122af58197d3c8a8f39 2021-05-14T06:26:26.09091234Z root
bc9377f463e7dc47bd58d80a62b0ba4da6fc86869f40d41dc181b7c9f057b2f5 4199 running /run/containerd/io.containerd.runtime.v2.task/moby/bc9377f463e7dc47bd58d80a62b0ba4da6fc86869f40d41dc181b7c9f057b2f5 2021-05-14T06:26:26.090912342Z root
e554c565e3c270d4630f91ec8ab5e97379720ab950f1c9f285e31b95929e46dc 5071 running /run/containerd/io.containerd.runtime.v2.task/moby/e554c565e3c270d4630f91ec8ab5e97379720ab950f1c9f285e31b95929e46dc 2021-05-14T06:26:34.299062098Z root
ef49f937f358db1debec1037796972f00a6a030c15f2b471053b81d01f1b6bb5 4952 running /run/containerd/io.containerd.runtime.v2.task/moby/ef49f937f358db1debec1037796972f00a6a030c15f2b471053b81d01f1b6bb5 2021-05-14T06:26:33.927094868Z root
As for the relationship, it has been answered here.