In a presentation by @yuvipanda, two types of image needs are considered:
one where an image is built based on high-level files like environment.yml using repo2docker
one where an image is built with a plain Dockerfile (build with or without repo2docker)
I think there is a need for this template repo to clarify that repo2docker will respect a Dockerfile if its found, and build it without doing something fancy with high-level files. Further, that this is a reasonable use of this template if for example you want to add a single package like done in https://github.com/2i2c-org/scipy-notebook-with-nbgitpuller/blob/main/Dockerfile by adding a Dockerfile.
Background
@jbusecke wrote about this in https://2i2c.freshdesk.com/a/tickets/1242
> [...] this does not really reflect the instructions in the template repo of 2i2c (https://github.com/2i2c-org/hub-user-image-template) which mostly emphasizes a repo2docker build from an environment file. Correct me if I am wrong, but I believe inheriting from the Pangeo image requires using the Dockerfile.
>
>I see a couple of options to make this easier for users:
>
>- I make a leap specific template based on the 2i2c one that emphasizes the dockerfile rather than environment.yaml (but that seems like a bit of a smell since then we have to maintain two repos)
>- we can work on the 2i2c side to tune the readme or maybe have different templates ? (I think ultimately working on this upstream is preferable).
>
>I like the way you presented it in a way the “build from scratch” route is more advanced in a sense and might make more sense in some cases (e.g. I recently built a slim image for our project and keeping it small probably increases the dask worker spin up), but for most folks it’s just “I am missing package abc, let me add that really quick.
In a presentation by @yuvipanda, two types of image needs are considered:
environment.yml
using repo2dockerDockerfile
(build with or without repo2docker)I think there is a need for this template repo to clarify that repo2docker will respect a Dockerfile if its found, and build it without doing something fancy with high-level files. Further, that this is a reasonable use of this template if for example you want to add a single package like done in https://github.com/2i2c-org/scipy-notebook-with-nbgitpuller/blob/main/Dockerfile by adding a Dockerfile.
Background
@jbusecke wrote about this in https://2i2c.freshdesk.com/a/tickets/1242
> [...] this does not really reflect the instructions in the template repo of 2i2c (https://github.com/2i2c-org/hub-user-image-template) which mostly emphasizes a repo2docker build from an environment file. Correct me if I am wrong, but I believe inheriting from the Pangeo image requires using the Dockerfile. > >I see a couple of options to make this easier for users: > >- I make a leap specific template based on the 2i2c one that emphasizes the dockerfile rather than environment.yaml (but that seems like a bit of a smell since then we have to maintain two repos) >- we can work on the 2i2c side to tune the readme or maybe have different templates ? (I think ultimately working on this upstream is preferable). > >I like the way you presented it in a way the “build from scratch” route is more advanced in a sense and might make more sense in some cases (e.g. I recently built a slim image for our project and keeping it small probably increases the dask worker spin up), but for most folks it’s just “I am missing package abc, let me add that really quick.