Closed lwaldron closed 4 years ago
Well, I found a few things... The reason is a bit complicated, but basically boils down to this: these rocker container images are based on s6, which appears to only be able to run the root user... bulker, on the other hand, is specifically set up to run everything as the user that is active in the bulker environment. So, you were on the right track with your setting docker_command: " "
, because these are also entrypoint containers... but then the user is not set up correctly because bulker automatically maps your local user, and the rocker container is running /init
and requiring you to be the root user. I don't really agree with the way they've set up the images here... in my opinion, they've complicated things by requiring the images to be run in a certain way. I think it would be better to go with a simpler, more basic rstudioserver image that doesn't specify these things. Are you aware of more generally usable rstudioserver images?
But anyway, I've gone ahead and adapted bulker so it can work with these kinds of images as well...
If you update your files in templates/docker_executable.jinja2
and templates/docker_shell.jinja2
to the ones on the dev branch (https://github.com/databio/bulker/tree/dev/bulker/templates), then my updates to your PR will work (I've added no_user
and no_network
options).
FYI I have raised the question about potentially building bioconductor_full from non-rocker images at https://github.com/Bioconductor/bioconductor_full/issues/19, in case you want to weigh in there.
Doing this as a PR because I'm not sure it really works. I've also added
-p
and-e
arguments to mybulker_config.yaml
, ie::Then I load & activate this new waldronlab/bioconductor crate, and do:
I can see that it indeed launched a container:
Navigating to
http://localhost:8787
however gives me an "Unable to connect" error. In contrast, if I do for example the following (within or without bulker):then the server can be found on localhost:8787 and I see the following from
docker ps
:I did also try putting
docker_command: /init
ordocker_command: " "
in my bioconductor manifest, but that produced an additional warning, did not launch an image visible bydocker ps
, or start listening on on localhost:8787:So I am at a loss of what to try next...