Is kedro-docker intended more to facilitate local ...
# questions
a
Is kedro-docker intended more to facilitate local interactive environment? As opposed to packaging a self-contained image artifact intended for distribution to something like an ECS compute cluster ?
d
You can use it for either?
kedro docker build
creates a very simple Docker image with your project code copied in there, and then there are supporting commands like
kedro docker run
if you want to use that Docker image locally, but it doesn't do anything very special. Some of the deployment guides use the image built using
kedro docker build
, if I recall correctly, since it's a reasonable-enough way to build an image.
m
Also, in the recent versions of kedro-docker plugin, the
Dockerfile
was modified to allow multi stage build - the first stage:
runtime-environment
only installs the project requirements and the second stage copies the project into docker image. Reasoning behind this is that you can just build the first stage and actually try to perform some interactive development and/or use it for executing the code “you will send to it” (it’s one of the options for Azure ML for example).
👍 1
a
Got it
I was reading more about
kedro docker run
and was a bit confused when it said it mounts the cwd project into the container... bc I would assume the
conf
etc would have been copied in during image build
Which lead me to start wondering if
kedro docker build
isn't actually doing that (and yes, it took me about 30 minutes staring at the Dockerfile template before I realized that
COPY --chown=${KEDRO_UID}:${KEDRO_GID} . .
was right there at the bottom lol).