This blog post provides one explanation for the “docker : command not found” error. Specifically, you may need to start Docker Desktop.
If you run a command such as the following:
sudo docker compose up
And receive the following error:
sudo: docker: command not found
The issue may be that you need to start Docker Desktop.
The symptoms are a little strange, because the shell seems to find the docker command in /mnt/c/Program Files/Docker/Docker/resources/bin/docker (C:/Program Files/Docker/Docker/resources/bin/docker), which is an executable shell script. It takes a moment to appear, but after starting Docker Desktop, the docker command appears in /usr/bin.
[2024-11-03 12:37:01]:jw@M5:453:~/tmp/cms
$ sudo docker compose up
sudo: docker: command not found
[2024-11-03 12:37:10]:jw@M5:454:~/tmp/cms
$ which docker
/mnt/c/Program Files/Docker/Docker/resources/bin/docker
[2024-11-03 12:37:14]:jw@M5:455:~/tmp/cms
$ ls -l '/mnt/c/Program Files/Docker/Docker/resources/bin/docker'
-r-xr-xr-x 1 jw jw 1359 Oct 24 19:07 '/mnt/c/Program Files/Docker/Docker/resources/bin/docker'
[2024-11-03 12:37:26]:jw@M5:456:~/tmp/cms
$ code '/mnt/c/Program Files/Docker/Docker/resources/bin/docker'
[2024-11-03 12:37:45]:jw@M5:457:~/tmp/cms
$ '/mnt/c/Program Files/Docker/Docker/resources/bin/docker'
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.
For details about using Docker Desktop with WSL 2, visit:
https://docs.docker.com/go/wsl2/
[2024-11-03 12:38:07]:jw@M5:458:~/tmp/cms
$ wslpath "C:\Program Files\Docker\Docker\Docker Desktop.exe"
/mnt/c/Program Files/Docker/Docker/Docker Desktop.exe
[2024-11-03 12:38:11]:jw@M5:459:~/tmp/cms
$ '/mnt/c/Program Files/Docker/Docker/Docker Desktop.exe'
[2024-11-03 12:38:15]:jw@M5:460:~/tmp/cms
$ sudo docker compose up
sudo: docker: command not found
[2024-11-03 12:38:22]:jw@M5:461:~/tmp/cms
$ which docker
/usr/bin/docker
[2024-11-03 12:38:27]:jw@M5:462:~/tmp/cms
$ sudo docker compose up
[+] Running 4/0