0

How to pull a docker image from github registry using singularity?

Usually with docker you have to generate a token and run sth similar to: docker pull docker.pkg.github.com/{etc}/{etc}/{etc} --username {mygithubusername} --password {generatedtoken}

However, singularity pull docker://docker.pkg.github.com/{etc}/{etc}/{etc} --username {mygithubusername} --password {generatedtoken}

produces: Error for command "pull": accepts between 1 and 2 arg(s), received 5

afroditi
  • 307
  • 1
  • 3
  • 13
  • If you migrate to GHCR you no longer need to authenticate https://docs.github.com/en/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry – Frankie Robertson Jun 28 '21 at 11:45

1 Answers1

1

For private registries, you can either authenticate interactively:

singularity pull --docker-login docker://docker.pkg.github.com/{etc}/{etc}/{etc}
Enter Docker Username: mygithubusername
Enter Docker Password:

Or via env variables (useful for CI):

export SINGULARITY_DOCKER_USERNAME=mygithubusername
export SINGULARITY_DOCKER_PASSWORD=generatedtoken
singularity pull docker://docker.pkg.github.com/{etc}/{etc}/{etc}

See the documentation for additional details.

tsnowlan
  • 3,472
  • 10
  • 15