GoogleCloudPlatform / cloud-code-intellij

Plugin to support the Google Cloud Platform in IntelliJ IDEA - Docs and Issues Repository
Apache License 2.0
319 stars 59 forks source link

Unable to do a local dev cloudrun in Goland while docker in rootless mode #3018

Open rumsrami opened 2 years ago

rumsrami commented 2 years ago

I am trying to use cloud code to run a docker file (cloud run) locally using a (Run/Debug Configuration) I have docker running in rootless mode.

Expected Behavior

for it to run

Actual Behavior

error:

Validating Docker settings...
It looks like you don’t have Docker running. Please start Docker to use this feature. https://www.docker.com/

Additional Information

etanshaul commented 2 years ago

@rumsrami thanks for reporting. With Docker running (rootless), would you mind sharing the output of docker info? We use this to determine if Docker is running on the machine and show the error you mentioned if we determine it's not running. I wonder if the outputs differ somehow.

rumsrami commented 2 years ago

Could the issue be that the plugin looks for docker on

unix:///var/run/docker.sock

While docker is running on

unix:///run/user/1000/docker.sock

That's the log from docker info

➜ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.6.3-docker)
  scan: Docker Scan (Docker Inc., v0.9.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 20.10.10
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: true
 Logging Driver: json-file
 Cgroup Driver: none
 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: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 5b46e404f6b9f661a205e28d59c982d3634148f8
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  rootless
 Kernel Version: 5.13.0-7614-generic
 Operating System: Pop!_OS 20.04 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 48
 Total Memory: 125.7GiB
 Name: pop-os
 ID: MZCR:RRBM:6A36:GLZP:6UL4:MYTT:CR6S:NDQG:MHHY:5BGE:6CMR:7ZQ6
 Docker Root Dir: /home/rami/.local/share/docker
 Debug Mode: false
 Username: dockeruser
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: Running in rootless-mode without cgroups. To enable cgroups in rootless-mode, you need to boot the system in cgroup v2 mode.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
matthewmichihara commented 2 years ago

The plugin tries to inspect the presence of docker by running a test docker info command and inspecting the exit code. Would you mind running docker info once more and then echo $? just to verify that we're seeing the right success exit code?

rumsrami commented 2 years ago
➜ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.6.3-docker)
  scan: Docker Scan (Docker Inc., v0.9.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 20.10.10
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: true
 Logging Driver: json-file
 Cgroup Driver: none
 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: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 5b46e404f6b9f661a205e28d59c982d3634148f8
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  rootless
 Kernel Version: 5.13.0-7614-generic
 Operating System: Pop!_OS 20.04 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 48
 Total Memory: 125.7GiB
 Name: pop-os
 ID: MZCR:RRBM:6A36:GLZP:6UL4:MYTT:CR6S:NDQG:MHHY:5BGE:6CMR:7ZQ6
 Docker Root Dir: /home/rami/.local/share/docker
 Debug Mode: false
 Username: dockeruser
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: Running in rootless-mode without cgroups. To enable cgroups in rootless-mode, you need to boot the system in cgroup v2 mode.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

 ~ 
 ➜ echo $?
0