Containerized Model not Deploying

Hello,

I’m currently trying to deploy a model I have in a Docker container. The model uses a numerical userID, exposes port 8000, has a model adapter, using linux/amd64 as the platform, and works locally. The error is attached below. It doesn’t really give me any useful information, was wondering if anyone has seen anything like this and is able to give me guidance? Thanks!

Hello,

Would you be able to share the model version id of your containerized model so we can investigate? It can be copied by navigating to the model page and clicking on the clipboard icon at the end of the line that says Version in the left sidebar.

Thank you!
Julien

Hi Julien,

The model version is ri.models.main.model-version.90777259-3488-4532-b948-373818f34734

Hi,

We will improve this error message in particular, but I took a look at internal logs and it seems this model version has a container image but the image is not available in the linux/amd64 platform. It is available in the linux/arm64 platform instead. This is the validation that is failing.

Hi Gabriel, I will try that out, but this is contrary to what the current
documentation
says.

Edit: I misunderstood your original comment, apologies. I have updated the model to use AMD-64 and it’s still not working. I’ve seen this error as well which also doesn’t seem to make any sense as well:

Compute Module Failure
ServiceException: INVALID_ARGUMENT (DeployedAppsService:ComputeModuleHasNoContainersConfigured)
com.palantir.conjure.java.api.errors.ServiceException: ServiceException: INVALID_ARGUMENT (DeployedAppsService:ComputeModuleHasNoContainersConfigured)

One other thought: this model I’m using pulls from the OSDK, I’m wondering if there’s some sort of incompatibility between models and the OSDK? I’m grasping at straws here so I’m truly not sure haha.

This error is due to the same image validation failing under the hood; I have pushed a fix and it should fail at an earlier stage now using the validation (when you create a new model version).

We suspect there might be a bug in docker where it uploads the image manifest list with the wrong metadata (it states the image is of type linux/arm64 even though the image’s config says the image is of type linux/amd64).

Some users have been successful with the following workaround.

docker build --platform=linux/amd64 ...

Could you confirm that the model page shows linux/amd64 next to your image?

Also, could you document which docker version you are using? You can use docker --version.

Hey @_gabriel , it looks like whatever you fixed worked! I did incidentally change the CMD in my Dockerfile to an ENTRYPOINT, not sure if the two are related. Regardless, I am able to run the model now!