Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Hi seniors, I need an urgent help.

After installing docker desktop and webodm,

When I run “./webodm.sh start --gpu” i get:
Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown

When I run “sudo ./webodm.sh start --gpu” i get:
docker-compose -f docker-compose.yml -f docker-compose.nodeodm.gpu.nvidia.yml up --scale node-odm=1
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

After installing docker engine on docker desktop “./webodm.sh start --gpu” or “sudo ./webodm.sh start --gpu” starts webdom smoothly.

Does it mean i have to install docker desktop and docker engine before i can use the gpu capability of webodm in linux

I have searched a lot for a solution to make webodm with --gpu flag to start using docker desktop without installing docker engine but to no avail.

I use ubuntu 22.04

Thanks

1 Like

Can you try adding your user to the docker group to see if the behavior changes with just docker desktop?

1 Like

Thanks so much. My username is a member of the docker group and only docker desktop is installed (on this debian laptop). WebODM --gpu is still not starting.

Also, I have another laptop that has ubuntu 22.04. It has only docker engine installed. WebODM --gpu starts smoothly. The problem is that even with --gpu, it took 3hrs 40mins to process 4945 multispectral images. It has Nvidia Geforce RTX 3080 with nvidia drivers and nvidia container tookits installed. The same dataset was process by WebODM in windows in 1hr 30mins.

1 Like

1 Like

Can you use a tool like topgrade to get fully up to date, and then maybe try debsums to see if somehow a package got broken/corrupted? This looks quite strange that you can’t connect and the service file doesn’t exist.

1 Like

Thank you so much. i will get to that right away. Can you also touch on why the ubuntu laptop takes so long to process?

1 Like

The Debian laptop
After running debsums, every file was oked. After running topgrade i got this

The ubuntu laptop
Additional info: I was facing the same problem after installing docker desktop only. I switched to docker engine only and webodm --gpu worked but took a longer time to process than even in windows

1 Like

The debian laptop (docker desktop)

After running “docker context ls”, i get this

If the * sign is on desktop-linux, “./webodm.sh start” starts smoothly but “./webodm.sh start --gpu” does not start and returns “Cannot connect to the Docker daemon at unix:///home/superstar/.docker/desktop/docker.sock. Is the docker daemon running?”. If i change the * to “default” using “docker context use default” both “./webodm.sh start” and “./webodm.sh start --gpu” do not start

1 Like

NB: My goal for this topic is to make webdom process my data faster than when i tried on windows. This is my motivation: GPU Point Cloud Densification Lands in ODM, and It's Fast! - OpenDroneMap . Any information to make me achieve this goal will appreciated. Thank you

1 Like

Can you run other docker GPU commands without error? You may have log off and log back in for your docker group credentials to work? Eg. does this work.

docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

2 Likes

Thanks

I dont know what it means to log but i closed the terminal and restarted it. I also ran “newgrp docker”

After running “docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi” i got
“docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown.”

1 Like

That tells me something is wrong with your docker installation. İf you can’t run this, you won’t be able to run anything else.

Perhaps try following the instructions here, make sure the docker installation is correct and then try odm

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html

2 Likes

Thank you. Will give it a try

1 Like

I have followed the instruction on ‘Installation Guide — NVIDIA Cloud Native Technologies documentation’ for the ubuntu computer which is currently running docker engine only. I got the computer to run on the gpu but it processes slowly compared to WebODM on windows which runs without gpu.

I could not follow the instruction on the debian computer(runs on docker desktop) because it does not have an nvidia card.

Thanks so much for the support. I look forward to more.

1 Like

Problem Solved

I updated docker desktop and installed nvidia drivers from software and updates. Thanks to you all

2 Likes

One also has to ensure that nvidia docker container toolkit, nvidia docker and containerd are installed properly.

1 Like