IDEA can't see docker desktop containers on ARM macOS - docker

I downloaded Docker Desktop for Mac and I can run docker-compose up but when I try to run a functional test I get the error
java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration
and when I check the logs I see that it is about docker machine I believe.
[main] ERROR o.t.d.DockerClientProviderStrategy - Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
[main] ERROR o.t.d.DockerClientProviderStrategy - UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (Could not find unix domain socket). Root cause NoSuchFileException (/var/run/docker.sock)
[main] ERROR o.t.d.DockerClientProviderStrategy - DockerMachineClientProviderStrategy: failed with exception ShellCommandException (Exception when executing docker-machine status ). Root cause InvalidExitValueException (Unexpected exit value: 1, allowed exit values: [0], executed command [docker-machine, status, ], output was 122 bytes:
Docker machine "" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.)
[main] ERROR o.t.d.DockerClientProviderStrategy - As no valid configuration was found, execution cannot continue
but I believe Docker Desktop should be enough for MacOS, not confident though. I tried to create a docker machine but I couldn't because it needs a virtualbox but virtualbox doesn't support M1 macs. Don't know what to do here to be honest.
I can see the container up and running in Docker Desktop,the docker-compose up also runs. It seems like IntellijIDEA can't see it? Also when I try to add Docker to IntellijIDEA from Preferences -> Build, Execution, Deployment -> Docker, I also get the error
Cannot connect: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (Details: [2] No such file or directory)
Can anyone assist me with this?
Edit: I actually checked var/run and there is no such file as docker.sock. Why is this, I am so confused.

Related

Docker socket is not found while using Intellij IDEA and Docker desktop on MacOS

I downloaded Docker using Docker Desktop for Apple M1 chips. I can run containers, the integration with VsCode works okay but I can't integrate it with Intellij IDEA Ultimate. It keeps giving this error.
But I can run my containers and create images from the terminal, I can also see the containers and images in Docker Desktop too. What could be the reason behind this? I also tried to check whether var/run/docker.sock is existing and it really isn't, there is no such file as that.
I also tried the same steps on my second computer and the exact same thing happened. Steps to reproduce: 1- Download Intellij IDEA Ultimate, open a repo that uses docker 2- Download Docker Desktop for Mac M1 3- Try to add Docker service to Intellij
I didn't do anything else because I think Docker Desktop is enough to configure everything on Mac. I am trying to run an FT on intellij and I get the error
[main] ERROR o.t.d.DockerClientProviderStrategy - Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
[main] ERROR o.t.d.DockerClientProviderStrategy - UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (Could not find unix domain socket). Root cause NoSuchFileException (/var/run/docker.sock)
[main] ERROR o.t.d.DockerClientProviderStrategy - DockerMachineClientProviderStrategy: failed with exception ShellCommandException (Exception when executing docker-machine status ). Root cause InvalidExitValueException (Unexpected exit value: 1, allowed exit values: [0], executed command [docker-machine, status, ], output was 122 bytes:
Docker machine "" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.)
[main] ERROR o.t.d.DockerClientProviderStrategy - As no valid configuration was found, execution cannot continue
I've been trying everything for the last 2 days but I can't seem to find a solution.
EDITED 2022-10-31
As per the latest release notes for Docker Desktop (4.13.1), there is no need to create the symlink anymore, citing notes:
Added back the /var/run/docker.sock symlink on Mac by default, to increase compatibility with tooling like tilt and docker-py. Fixes docker/for-mac#6529.
The official fix now is to UPGRADE your Docker Desktop installation.
For the Docker Desktop (4.13.0) version:
By default Docker will not create the /var/run/docker.sock symlink on the host and use the docker-desktop CLI context instead. (see: https://docs.docker.com/desktop/release-notes/)
That will prevent IntelliJ from finding Docker using the default context.
You can see the current contexts in your machine by running docker context ls, which should produce an output like:
NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock https://kubernetes.docker.internal:6443 (default) swarm
desktop-linux * moby unix:///Users/<USER>/.docker/run/docker.sock
As a workaround that will allow IntelliJ to connect to Docker you can use the TCP Socket checkbox and put in the Engine API URL the value that appears under DOCKER ENDPOINT in the active context.
The case for this example will be: unix:///Users/<USER>/.docker/run/docker.sock
Then IntelliJ will be able to connect to Docker Desktop.
**Hacky option**
Another way to make IntelliJ (and other components that rely on the default config) to find Docker will be to manually create a symlink to the new DOCKER ENDPOINT by running:
sudo ln -svf /Users/<USER>/.docker/run/docker.sock /var/run/docker.sock
In that way all the components looking for Docker under /var/run/docker.sock will find it.

error during connect: The system cannot find the file specified..,the docker client must be run elevated to connect [duplicate]

System info:
Windows 10 pro 64 bit
C:\WINDOWS\system32>docker --version
Docker version 18.06.1-ce, build e68fc7a
C:\WINDOWS\system32>docker info
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
C:\WINDOWS\system32>docker pull hello-world
Using default tag: latest
Warning: failed to get default registry endpoint from daemon (error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.). Using system default: https://index.docker.io/v1/
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/images/create?fromImage=hello-world&tag=latest: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
You can powerShell as admin.
Run this code:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
Running Powershell with elevated access solved my issue.
Usually this error means the Docker daemon that is docker services is not up and running.
Make sure docker is running by issuing below command in power shell in elevated mode.
docker run hello-world
A response as hello from docker will be printed on console.
Else start the docker by double clicking the docker app from start menu.
Below is the snapshot of graphically up and running docker daemon.
On Windows, go to the folder %homepath%\.docker, open daemon.json and if debug is set to true then set it to false.
I had the same error as in the question and after I changed the above it worked again for me. After I got the error, I had been looking at the various docker settings and decided to set debug to false because I don't need any daemon debug info for what I'm doing. I don't know why it was set to true originally.
In my case, although I had the docker service running as admin and the service was shown as running, it was not.
Open the docker desktop app, click on the 'troubleshoot' icon. Check if the service is effectively running (bottom left). If it's not, try to 'clean/purge data', and then restart the service. It worked for me!
Verify it by running docker run hello-world
Fow Windows:
Launch command: "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
This error is because of organisation network certificates which are installed in local machine. Beacuse some companies restricted network by installing certificates.
docker daemon service is not running on my machine and when I start the service, this error us resolved.
I had faced the same error, the following worked for me:
In the windows taskbar, the docker icon was red in color saying Out of Memory...
In the Docker Desktop App, goto
Settings -> Resources -> Disk Image Size -> decrease the space allocated -> Apply & Restart
This did happen to me while i was using docker today for the first time. I fixed by opening up the docker app in the PC and signing and selecting the necessary subscription plan.
Open docker with docker <homepath>. Simply upgrade docker and then run this command
docker-compose up -d
you will be able to solve the specified path error.
docker.errors.DockerException: Error while fetching server API version: (2, 'CreateFile', 'The system cannot find the file specified.')
[14620] Failed to execute script docker-compose
Doing the above solved the error.
Yo,
open docker app > settings > Docker engine > "debug": true,
debug was false initially, after changing it to "true" it worked.
Thanks.

Docker Installation Problems

I'm new to using Docker (never used it before) and I'm running into these errors:
I installed the Docker for Windows and following the steps on this
tutorial, but Docker Desktop doesn't load up for me at all.
I tried to run the docker pull hello-world command but I'm getting the error: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
How do I fix this? Thanks

Permission Denied on port when starting HDP Sandbox Proxy on Docker (Windows 10)

I am getting the following error when trying to start sandbox-proxy (proxy-deploy.sh) on docker.
Have tried reinstalling, rebooting, checking existing in use ports using netstat -a -n. Nothing helped.
Error response from daemon: driver failed programming external connectivity on endpoint sandbox-proxy (b710798aa75668908d359602541ed4d8a3da4e4b8b2856f5e779453ea296aeef): Error starting userland proxy: Bind for 0.0.0.0:50111: unexpected error Permission denied
Error: failed to start containers: sandbox-proxy
Detailed snapshot of failure
Docker logs attempt as requested
Go to the location where you saved the Docker deployment scripts – refer to Deploy HDP Sandbox as an example. You will notice a new directory sandbox was created.
Edit file sandbox/proxy/proxy-deploy.sh
Modify conflicting port (first in keypair). For example, 6001:6001 to 16001:6001
Save/Exit the File
Run bash script: bash sandbox/proxy/proxy-deploy.sh
Repeat steps for continued port conflicts
More info : https://hortonworks.com/tutorial/sandbox-deployment-and-install-guide/section/3/#port-conflict

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/info

System info:
Windows 10 pro 64 bit
C:\WINDOWS\system32>docker --version
Docker version 18.06.1-ce, build e68fc7a
C:\WINDOWS\system32>docker info
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
C:\WINDOWS\system32>docker pull hello-world
Using default tag: latest
Warning: failed to get default registry endpoint from daemon (error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.). Using system default: https://index.docker.io/v1/
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/images/create?fromImage=hello-world&tag=latest: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
You can powerShell as admin.
Run this code:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
Running Powershell with elevated access solved my issue.
Usually this error means the Docker daemon that is docker services is not up and running.
Make sure docker is running by issuing below command in power shell in elevated mode.
docker run hello-world
A response as hello from docker will be printed on console.
Else start the docker by double clicking the docker app from start menu.
Below is the snapshot of graphically up and running docker daemon.
On Windows, go to the folder %homepath%\.docker, open daemon.json and if debug is set to true then set it to false.
I had the same error as in the question and after I changed the above it worked again for me. After I got the error, I had been looking at the various docker settings and decided to set debug to false because I don't need any daemon debug info for what I'm doing. I don't know why it was set to true originally.
In my case, although I had the docker service running as admin and the service was shown as running, it was not.
Open the docker desktop app, click on the 'troubleshoot' icon. Check if the service is effectively running (bottom left). If it's not, try to 'clean/purge data', and then restart the service. It worked for me!
Verify it by running docker run hello-world
Fow Windows:
Launch command: "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
This error is because of organisation network certificates which are installed in local machine. Beacuse some companies restricted network by installing certificates.
docker daemon service is not running on my machine and when I start the service, this error us resolved.
I had faced the same error, the following worked for me:
In the windows taskbar, the docker icon was red in color saying Out of Memory...
In the Docker Desktop App, goto
Settings -> Resources -> Disk Image Size -> decrease the space allocated -> Apply & Restart
This did happen to me while i was using docker today for the first time. I fixed by opening up the docker app in the PC and signing and selecting the necessary subscription plan.
Open docker with docker <homepath>. Simply upgrade docker and then run this command
docker-compose up -d
you will be able to solve the specified path error.
docker.errors.DockerException: Error while fetching server API version: (2, 'CreateFile', 'The system cannot find the file specified.')
[14620] Failed to execute script docker-compose
Doing the above solved the error.
Yo,
open docker app > settings > Docker engine > "debug": true,
debug was false initially, after changing it to "true" it worked.
Thanks.

Resources