RFC: inline Dockerfiles for simple images #406
Replies: 11 comments 4 replies
-
I like this |
Beta Was this translation helpful? Give feedback.
-
This would require a syntax change, to allow multi-line strings with the An alternative for inline dockerfile would be a
Yet another alternative would be an object value with specific keys to make it more clear what's allowed:
|
Beta Was this translation helpful? Give feedback.
-
@mlin thanks alot for the suggestion! This actually seems like a really great addition TBH. There is one problem with this approach though. In 2.0 the Adding inline support for just docker goes a little against the grain of the runtime overhaul. Is there any way we can make this more generic? |
Beta Was this translation helpful? Give feedback.
-
What about an object value instead:
This way, we don't need a separate This is more flexible because there might be other information we want to put into the docker image, and other container formats might require additional information. |
Beta Was this translation helpful? Give feedback.
-
Just wanted to add a +1 on this. Inline Dockerfiles would make it much easier for us to manage some of our workflow distribution and versioning mechanisms. |
Beta Was this translation helpful? Give feedback.
-
+1 as well
…On Mon, Mar 1, 2021 at 1:35 PM Andrey Kislyuk ***@***.***> wrote:
Just wanted to add a +1 on this. Inline Dockerfiles would make it much
easier for us to manage some of our workflow distribution and versioning
mechanisms.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#406 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AO4PJP7WKRMY6D3R6XPVNLLTBPUA3ANCNFSM4SWAH24Q>
.
--
Lynn Langit
714.267.5966 (CST time zone)
|
Beta Was this translation helpful? Give feedback.
-
Coming back to this - since multi-line strings are about to be approved, Also wanted to note the addition of a similar feature to NextFlow (along with an accompanying service to build and manage inline Dockerfiles): https://www.nextflow.io/blog/2022/rethinking-containers-for-cloud-native-pipelines.html |
Beta Was this translation helpful? Give feedback.
-
I wonder what the requirement for engines will be. IE will all engines in all environments NEED to support this feature or is it an opt in feature of the language |
Beta Was this translation helpful? Give feedback.
-
It should be possible to specify either/both a Regarding @mlin earlier comment of fully baking
|
Beta Was this translation helpful? Give feedback.
-
@mlin it seems like there's enough support for this to propose a PR if you're up for writing it up. |
Beta Was this translation helpful? Give feedback.
-
I think |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is a feature I've wanted for a long time to reduce dev/maintenance overhead; looking for comments on my rough implementation! CWL has something similar,
DockerRequirement::dockerFile
Motivation: sometimes / fairly often, a WDL task just depends on a combination of tools which can each be installed through apt/conda/etc. In these simple cases, it's a chore to build a custom docker image and keep it public & up-to-date. Instead we see authors piling stuff into monolithic images to be shared across many tasks (to amortize the chore), or else installing packages at runtime (which makes things slower & more prone to random failures).
Proposed solution: As an optional alternative to the
runtime.docker
field, admit aruntime.inlineDockerfile
field with anArray[String]
supplying the text lines of a "simple" Dockerfile associated with the task. Then the engine assumes responsibility to execute the task command using an image built from that Dockerfile.Example:
Details:
runtime.docker
and maintain/publish their docker images in the usual waysdocker build
, relying on its built-in caching featuresBeta Was this translation helpful? Give feedback.
All reactions