The only way to use a specific public key file like a keyring is if the file is in the GPG (OpenPGP) file format and not an ASCII armoured version (e.g. pubkey.gpg not pubkey.asc).
So this will verify the file:
gpg --no-default-keyring --keyring /path/to/pubkey.gpg --verify /path/to/file.txt.gpg
And this will not:
gpg --no-default-keyring --keyring /path/to/pubkey.asc --verify /path/to/file.txt.gpg
EDIT: I’ve gone into a little more detail on this for a similar question on the SuperUser site:
https://superuser.com/questions/639853/gpg-verifying-signatures-without-creating-trust-chain/650359#650359