googleComputeEngineR icon indicating copy to clipboard operation
googleComputeEngineR copied to clipboard

[Feature] Handle longer docker builds via gce_shiny_addapp

Open IronistM opened this issue 8 years ago • 1 comments

At the moment the default timeout period is used for docker build (10 mins).

Expected behavior would be something like

gce_shiny_addapp(vm, app , timeout = 1000)

similar to using the --timeout flag in gcloud or the API.

IronistM avatar Jul 04 '17 08:07 IronistM

So the docker_build function doesn't have a timeout, so I suspect the build is finishing on the VM but the connection times out before it does - you may be able to find your finished build via gce_ssh(vm, "docker ps -a")

I should think of a work-around for the function though (that basically wraps docker_build, gce_push_registry and docker_run)

Alternatively, you could build another Docker image that the Shiny Dockerfile uses in its FROM, that may shorten the build time, or what I do is build via the Google build triggers, and then call the last bit of the function yourself:

  ## stop previously running docker shiny server
  docker_cmd(instance, cmd = "stop", args = "shinyserver")
  docker_cmd(instance, cmd = "rm", args = "shinyserver")  
  
  docker_run(instance, 
             image = gce_tag_container("your-build-image-name", project = "your-project"),
             name = "shinyserver", 
             detach = TRUE, 
             docker_opts = '-p 80:3838')
  

I like the utility of having both approaches available though.

MarkEdmondson1234 avatar Jul 04 '17 08:07 MarkEdmondson1234