Kendal Burkhart
05/11/2022, 6:28 PMstorage = Docker(registry_url=os.getenv("REGISTRY_URL"),
image_name=os.getenv("IMAGE_NAME"),
base_image="<http://nnnnnnnnnnn.dkr.ecr.us-west-2.amazonaws.com/flow-base-image:latest|nnnnnnnnnnn.dkr.ecr.us-west-2.amazonaws.com/flow-base-image:latest>"
)
and built from a very simple Dockerfile:
FROM prefecthq/prefect:latest-python3.8
ENV PYTHONPATH=$PYTHONPATH:/
COPY ./utilities utilities
Currently, this setup fails. When the flow runs in ECS, it exits immediately with an error:
Exit Code 1
Command ["/bin/sh","-c","prefect execute flow-run"]
As part of my troubleshooting, I bypassed using the image in ECR and set
the base image in the Docker storage for the flow:
storage = Docker(registry_url=os.getenv("REGISTRY_URL"),
image_name=os.getenv("IMAGE_NAME"),
base_image="prefecthq/prefect:latest-python3.8"
)
This too failed with the same error.
I reviewed the logs for builds that did not set the base image, and saw this
image being used by default:
prefecthq/prefect:0.15.4-python3.8
I then used this image in my Docker storage:
storage = Docker(registry_url=os.getenv("REGISTRY_URL"),
image_name=os.getenv("IMAGE_NAME"),
base_image="prefecthq/prefect:0.15.4-python3.8"
)
This flow runs successfully.
Updating my Dockerfile and using that build from ECR also works.
So…does anyone have any idea as to why using prefecthq/prefect:latest-python3.8 fails?
I would prefer not to pin the version in my Dockerfile.Anna Geller
Kendal Burkhart
05/12/2022, 5:01 PMbase_image="prefecthq/prefect:0.15.4-python3.8"
This doesn't work:
base_image="prefecthq/prefect:latest-python3.8"
Error seen in ECS:
Exit Code 1
Command ["/bin/sh","-c","prefect execute flow-run"]
The environment variable is the same for both, so if it was an issue it would impact both?Anna Geller
Anna Geller
Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.
Powered by