NVIDIA / enroot

A simple yet powerful tool to turn traditional container/OS images into unprivileged sandboxes.
Apache License 2.0
648 stars 94 forks source link

support for AWS ECR public registry #72

Closed amrragab8080 closed 3 years ago

amrragab8080 commented 3 years ago

It seems enroot doesnt recognize that AWS ECR public is a public registry and doesn't require creds for pulls. srun -N1 --container-image="public.ecr.aws/w6p6i9i7/aws-efa-nccl-rdma:base-cudnn8-cuda11-ubuntu18.04" --pty bash it prefixes the image with docker prefix

slurmstepd: error: pyxis:     [INFO] Querying registry for permission grant
slurmstepd: error: pyxis:     [INFO] Authenticating with user: <anonymous>
slurmstepd: error: pyxis:     [INFO] Authentication succeeded
slurmstepd: error: pyxis:     [INFO] Fetching image manifest list
slurmstepd: error: pyxis:     [INFO] Fetching image manifest
slurmstepd: error: pyxis:     [ERROR] URL https://registry-1.docker.io/v2/public.ecr.aws/w6p6i9i7/aws-efa-nccl-rdma/manifests/base-cudnn8-cuda11-ubuntu18.04 
returned error code: 401 Unauthorized
3XX0 commented 3 years ago

Support for AWS ECR authentication was recently commited in master. For public images or if your credentials aren't setup, use a # to separate the registry domain from the URI:

srun -N1 --container-image="public.ecr.aws#w6p6i9i7/aws-efa-nccl-rdma:base-cudnn8-cuda11-ubuntu18.04"
3XX0 commented 3 years ago

Closing, feel free to reopen if you still have issues after using the master branch or the above