4
votes

From a Google Cloud Run docker registry associated container, when I try to mount a Google Storage Bucket, the following is what I receive. Obviously without having a privileged docker execution this is expected, and as far as I have investigated, "Google Cloud Run" instances are not meant to support privileged container execution like Google Compute Engine.

Yet I am still asking if anyone has any other knowledge about this, is there any other way to mount a bucket via Google Run container ?

Opening GCS connection... Opening bucket... Mounting file system... daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1

stderr:

fusermount: fuse device not found, try 'modprobe fuse' first

1
Cloud Run is stateless. Why do you want to mount the bucket? Why cannot use the API to do stuff?Pentium10
The primary problem is : Google Compute Engine cannot run docker images from Container Registry. My docker images are in Container Registry. I want to run them. My docker images are not web services. They only do some calculations and following every execution they simply quit.SuperEye
When you are creating an instance, check out the "Deploy a container image to this VM instance" there you can set and use gcr containers. That's not working out for you?Pentium10
It shows as below you are right : "Container : Deploy a container image to this VM instance. Learn more" And as suggested, I provide the correct link of the container from the container registry. Still while doing that the option for the "boot disk" is still there. Why ? I have already provided the container registry that should be executed. Following that, when I instantiate the VM instance via Google Compute Engine and login to VM via SSH, I see a totally different file system, which is possibly, the boot disk.SuperEye
Based upon your comment "My docker images are not web services." then you cannot use Cloud Run. Cloud Run is an HTTP Request/Response system. Your container must respond to HTTP requests, otherwise it will be terminated. For your other comment "Google Compute Engine cannot run docker images from Container Registry" that is an incorrect assumption. Google Compute Engine supports Container Registry. For your final goal of mounting a bucket as a file system, Cloud Run does not support that feature/ability.John Hanley

1 Answers

3
votes

Posting this as a Community Wiki as it's based on the comments of @JohnHanley and @SuperEye:

Based on what you mentioned:

My docker images are not web services.

If this is the case, you cannot use Cloud Run for what you are trying to do. Cloud Run is an HTTP Request/Response system. Your container must respond to HTTP requests, otherwise it will be terminated.

Also, for your other comment:

Google Compute Engine cannot run docker images from Container Registry

That is an incorrect assumption. Compute Engine supports Container Registry.

In conclusion, for your final goal of mounting a bucket as a file system, Cloud Run does not support that ability. An alternative is to use App Engine Flex.