rancher-sandbox / rancher-desktop

Container Management and Kubernetes on the Desktop
https://rancherdesktop.io
Apache License 2.0
6.01k stars 283 forks source link

After Install, Context not set and unable to connect to docker daemon #4457

Closed Stargator closed 3 weeks ago

Stargator commented 1 year ago

Actual Behavior

One of my co-workers (on Windows 10) has an issue after installing Rancher Dekstop. They are using version 1.8.1.

Context is set to default instead of set to rancher-desktop and even after manually creating a context for rancher-desktop, they are unable to use docker CLI because the docker daemon cannot be reached.

They updated the Container Engine to dockerd, so that's not an issue.

I'm at the limit of my docker knowledge, so I don't know what this could be.

Steps to Reproduce

They installed 1.8.1 this week and then updated Container Engine to dockerd. Tried to run a docker command like docker images and it says the docker daemon cannot be reached.

This is on Windows. Nothing else was done.

Result

This is from the user that's on Windows:

Note, Context is set to default and the error in the Server section.

Rancher-Desktop_Issue

The User is seeing this issue immediately after installing Rancher Desktop:

docker images error during connect: this error may indicate that the docker daemon is not running: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json": open //./pipe/docker_engine: The system cannot find the file specified.

docker info Client: Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.10.4 Path: C:\Users\happer.docker\cli-plugins\docker-buildx.exe compose: Docker Compose (Docker Inc.) Version: v2.16.0 Path: C:\Users\happer.docker\cli-plugins\docker-compose.exe

Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 20.10.21 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 2 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux Default Runtime: runc Init Binary: docker-init containerd version: 2456e983eb9e37e47538f59ea18f2043c9a73640 runc version: 5fd4c4d144137e991c4acebb2146ab1483a97925 init version: Security Options: seccomp Profile: default cgroupns Kernel Version: 5.15.90.1-microsoft-standard-WSL2 Operating System: Rancher Desktop WSL Distribution OSType: linux Architecture: x86_64 CPUs: 8 Total Memory: 7.631GiB Name: DESKTOP-A0F18HK ID: UDYI:W2BN:4K63:UBFA:DUR5:6HMM:DDCJ:BGKE:5GJ5:HUS3:MYLH:LRJL Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

WARNING: No swap limit support

Expected Behavior

When I installed Rancher Desktop back in Oct/Nov, the Context was set to rancher-desktop and everything worked out of the box. This is their first time installing RD and I don't know if some changes impacted it.

Additional Information

No response

Rancher Desktop Version

1.8.1

Rancher Desktop K8s Version

N/A, Kubernetes is not enabled.

Which container engine are you using?

moby (docker cli)

What operating system are you using?

Other (specify below)

Operating System / Build Version

Windows 10

What CPU architecture are you using?

x64

Linux only: what package format did you use to install Rancher Desktop?

None

Windows User Only

We are using AppGate to VPN into our dev tools (GitLab/Jira). This VPN does not block traffic for us.

ZScalar is also used as a firewall. I have AppGate and ZScalar on my MacOS and I did not have the same issue as this co-worker who works from home. My MacOS ZScalar settings are definitely different from his.

Stargator commented 1 year ago

I have started experiencing this issue on my MacOS 12. The issue started when Rancher Desktop starts up there's an error displayed (see attached) related to Kubernetes.

Container Engine is set to dockerd and the context has been set to rancher-desktop, but this space issue seems to gummed up the works.

My HD has 120 GB free, so I don't understand the "No space left on device" nor the references to nerdctl.

Client: Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.10.4 Path: /Users/Stargator/.docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.16.0 Path: /Users/Stargator/.docker/cli-plugins/docker-compose

Server: ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? errors pretty printing info

Screen Shot 2023-04-14 at 4 10 27 PM

stderr: 'scp: /tmp/rd-nerdctl-fEyGZD.nerdctl: No space left on device\n', code: 1, command: [ '/Applications/Rancher Desktop.app/Contents/Resources/resources/darwin/lima/bin/limactl', 'copy', '/var/folders/lj/phrmpqfs2ld424jxh8y44w8m0000gn/T/rd-nerdctl-fEyGZD/nerdctl', '0:/tmp/rd-nerdctl-fEyGZD.nerdctl' ] }

jandubois commented 1 year ago

You may be out of space inside the VM. The data volume has a default maximum size of 100GiB, so if you created/pulled a lot of images, it may be full. You can check with

$ rdctl shell df -h /mnt/data
Filesystem                Size      Used Available Use% Mounted on
/dev/disk/by-label/data-volume
                         97.9G      1.6G     91.2G   2% /mnt/data

If you are out of space, check if you can delete some images you no longer need. Also look into nerdctl image prune to remove unused images.

Stargator commented 1 year ago

I've already removed all the images and containers I had earlier this before this popup from Kubernetes appeared.

Thanks for the rdctl suggestion, I'll try that.

Stargator commented 1 year ago

This is the output, looks like a lot of space is taken up:

Filesystem Size Used Available Use% Mounted on /dev/disk/by-label/data-volume 97.9G 93.1G 0 100% /mnt/data

Attempts to use docker and nerdctl unsuccessful:

nerdctl images FATA[0000] cannot access containerd socket "/run/k3s/containerd/containerd.sock": no such file or directory Error: exit status 1

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

nerdctl image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y FATA[0006] cannot access containerd socket "/run/k3s/containerd/containerd.sock": no such file or directory Error: exit status 1

The issue is blocking nerdctl and docker from running it seems

Stargator commented 1 year ago

@jandubois Will a rdctl factory-reset clear out the VM data? And are there other options?

I'm not too bummed if I have to do a factory-reset, I'm confident I can get everything back as before.

But I've been using RD for months whereas two co-workers just started using RD and have run into something similar immediately after installation, so I think my issue is not related to theirs.

jandubois commented 1 year ago

Will a rdctl factory-reset clear out the VM data?

Yes, it will delete the VM and all data. The VM will be recreated with an empty data volume on the next start.

Stargator commented 1 year ago

Ran the factory-reset and RD is running fine, no Kubernetes error. As mentioned, I had already removed all the extra image and containers.

When I got the error I only had one image and one container left.

Not sure how I could clear up the VM outside of docker rmi and docker rm commands.

Stargator commented 1 year ago

This is the issue the user on Windows is seeing:

docker images error during connect: this error may indicate that the docker daemon is not running: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json": open //./pipe/docker_engine: The system cannot find the file specified.

docker info Client: Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.10.4 Path: C:\Users\happer.docker\cli-plugins\docker-buildx.exe compose: Docker Compose (Docker Inc.) Version: v2.16.0 Path: C:\Users\happer.docker\cli-plugins\docker-compose.exe

Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 20.10.21 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 2 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux Default Runtime: runc Init Binary: docker-init containerd version: 2456e983eb9e37e47538f59ea18f2043c9a73640 runc version: 5fd4c4d144137e991c4acebb2146ab1483a97925 init version: Security Options: seccomp Profile: default cgroupns Kernel Version: 5.15.90.1-microsoft-standard-WSL2 Operating System: Rancher Desktop WSL Distribution OSType: linux Architecture: x86_64 CPUs: 8 Total Memory: 7.631GiB Name: DESKTOP-A0F18HK ID: UDYI:W2BN:4K63:UBFA:DUR5:6HMM:DDCJ:BGKE:5GJ5:HUS3:MYLH:LRJL Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

WARNING: No swap limit support

Stargator commented 1 year ago

I've updated the description to focus on the issue for the Windows user. The macOS user's issue was resolve after she used Docker Desktop for about a week, then she went back to try Rancher Desktop again and it worked for her.

Windows user doe snot have access to Docker Desktop. Also we do not have Admin access to our laptops.

prlyons commented 9 months ago

I have a similar issue on Windows 11. I installed Rancher Desktop. No errors on starting up, but when I run docker images on a command prompt I see:

error during connect: Get http://localhost:2375/v1.24/images/json: dial tcp [::1]:2375: connectex: No connection could be made because the target machine actively refused it.

docker info Client: Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc., v0.10.4) compose: Docker Compose (Docker Inc., v2.5.1) Server: Containers: 26 Running: 11 Paused: 0 Stopped: 15 Images: 9 Server Version: 23.0.6 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Using metacopy: false Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc io.containerd.runc.v2 Default Runtime: runc Init Binary: docker-init containerd version: 0cae528dd6cb557f7201036e9f43420650207b58 runc version: 51d5e94601ceffbbd85688df1c928ecccbfa4685 init version: Security Options: seccomp WARNING: You're not using the default seccomp profile Profile: builtin Kernel Version: 5.10.102.1-microsoft-standard-WSL2 Operating System: Rancher Desktop WSL Distribution OSType: linux Architecture: x86_64 CPUs: 8 Total Memory: 7.702GiB Name: RLYONS-L ID: e9958693-ef94-4d78-a232-709665cf352e Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false WARNING: No blkio throttle.read_bps_device support WARNING: No blkio throttle.write_bps_device support WARNING: No blkio throttle.read_iops_device support WARNING: No blkio throttle.write_iops_device support

docker context ls Does not list rancher-desktop

> NAME              DESCRIPTION                               DOCKER ENDPOINT                               KUBERNETES ENDPOINT                     ORCHESTRATOR
default *         Current DOCKER_HOST based configuration   npipe:////./pipe/docker_engine                https://192.168.232.32:6443 (default)   swarm     
desktop-linux     Docker Desktop                            npipe:////./pipe/dockerDesktopLinuxEngine
desktop-windows   Docker Desktop                            npipe:////./pipe/dockerDesktopWindowsEngine
prlyons commented 9 months ago

My issue appears fixed after doing running "wsl --shutdown" in powershell and restarting Rancher Desktop.

dperez83 commented 2 months ago

You most likely had Docker Desktop installed previously and you docker context is set to it.

Run a "docker context inspect" and delete your old folder (storage/metadataPath) that should be c:\Users\xxxx\.docker\

Run "docker context inspect" again and your host should end with "docker_engine" instead of "dockerDesktopLinuxEngine".

Restart Rancher and everything should run fine.

Illutax commented 3 weeks ago

Run a "docker context inspect" and delete your old folder (storage/metadataPath) that should be c:\Users\xxxx.docker\

Didn't work for me.

But uninstalling Docker-Desktop & Rancher-Desktop and installing Rancher-Desktop again fixed it for me.

jandubois commented 3 weeks ago

After reviewing all comments here it seems the issue was always either due to an out-of-space error that was resolved by a factory reset, or a conflict with a Docker Desktop installation that had been resolved by user.

It looks there are no remaining action items for the Rancher Desktop team, so I'm going to close this issue.

Illutax commented 3 weeks ago

After reviewing all comments here it seems the issue was always either due to an out-of-space error that was resolved by a factory reset, or a conflict with a Docker Desktop installation that had been resolved by user.

It looks there are no remaining action items for the Rancher Desktop team, so I'm going to close this issue.

In the case of an conflict with docker desktop, it would be nice if the factory reset of Rancher Desktop would also fix the issue in ~/.docker.