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
05/11/2022, 7:45 PMKendal 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
05/12/2022, 5:26 PM