Ibland behöver Docker nya klient-certifikat

By | July 10, 2019

Än en gång inser jag hur dåligt jag kan docker. Jag använder det, men jag kan det inte, det är en viss skillnad.

Fick följande problem igår,

x509: certificate has expired or is not yet valid

Säkert superenkelt för en CM, DevOps ingenjör eller liknande. Jag hittade dock svaret. Jag testade att skapa om certifikaten

docker-machine regenerate-certs mymachine

Fast utan framgång. Insåg att den endast kopierade över certifikaten till servern. Jag tog den långa vägen till rätt svar och kollade under om det fanns några certifikat-filer

ls -alh ~/.docker/machines

Jepp, varje maskin har sin egen. Filen jag sökte var

cert.pem

Nu ville jag veta när certifikatet var giltigt, det finns ett kommando för att se certifikaten i sin helhelt.

openssl x509 -in ~/.docker/machines/mymachine/cert.pem -text

Output

...
Validity
Not Before: Jul  6 14:39:00 2016 GMT
Not After : Jun 21 14:39:00 2019 GMT
...

Dagens datum var 2019-07-10, så detta var ju naturligtvis svaret, jag behövde nya klient-certifikat, och dessa behöver också laddas upp på servern. Det finns ett kommando för detta, och det finns en flagga för att göra just detta. Jag önskar att jag sett den flaggan tidigare.

docker-machine regenerate-certs --force --client-certs mymachine

Så nya certifikat på plats, och nu en fungerande Docker på DigitalOcean. Fast den långa vägen dit.

Category: IT