Docker login auth token

Gayan picture Gayan · Apr 16, 2017 · Viewed 31.9k times · Source

I'm trying to get docker login auth from ~/.docker/config.json file. But I can't see auth token in my config.json file. Here is my docker version.

docker version
Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Tue Mar 28 00:40:02 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:00:50 2017
 OS/Arch:      linux/amd64
 Experimental: true

When I run cat ~/.docker/config.json then what I can see is

cat .docker/config.json
{
    "auths": {
        "https://index.docker.io/v1/": {}
    },
    "credsStore": "osxkeychain"
}%

According to Codeship documentation I should have to see

{
    "auths": {
        "https://index.docker.io/v1/": {
            "auth": "auth_key",
            "email": "email"
        }
    }
}

Can I disable storing my authkey in keychain?

I really need to get auth_key, how can I get that?

Thank you

Answer

Roman Timushev picture Roman Timushev · Aug 14, 2017

Auth is simply a base64 encoded 'username:password' string. You can get it with the following command:

echo -n 'username:password' | base64