web-dev-qa-db-fra.com

Impossible de lire le certificat de l'autorité de certification lorsque vous essayez de démarrer docker

J'essaie de migrer de boot2docker vers docker-machine.

J'ai suivi les instructions ici pour installer docker mais le message suivant continue à apparaître:

Could not read CA certificate "/Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem": open /Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem: no such file or directory

quand je lance la plupart des commandes de docker.

13
Naruto Sempai

J'ai trouvé ma solution ici

Je devais mettre à jour mon .bash_profile pour qu'il ressemble à ceci:

export DOCKER_Host=tcp://192.168.99.100:2376
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=~/.docker/machine/machines/default

puis exécutez ce qui suit pour générer le fichier ca.pem manquant:

docker-machine regenerate-certs default

J'ai posté ceci au cas où cela pourrait aider quelqu'un d'autre. Merci/les accessoires vont à tout le monde dans ce fil sur github qui a été trouvé après une heure de douleur.

23
Naruto Sempai

Suivez ce guide: Docker pour Mac vs Docker Toolbox

Travaillé pour moi, vous devez supprimer les variables au lieu de les créer pour mac.

# grep for DOCKER ENV vars
env | grep DOCKER
unset <DOCKER_VARS>

6
Hashfyre

Habituellement, la plupart des gens ont installé boot2docker et une ancienne version de virtualbox. Comme indiqué dans le guide d'installation, avant d'installer Docker pour Mac, nous devons désinstaller boot2docker et réinstaller virtualbox en version haute. https://docs.docker.com/engine/installation/mac/#/docker-for-mac

Même si nous avons installé Docker pour Mac, nous avons tout de même rencontré l'erreur "Impossible de lire le certificat de l'autorité de certification".

Ma solution consiste à supprimer les variables d'environnement liées au docker (DOCKER *) de .bash_profile. Cela semble une solution à long terme.

  1. vim ~/.bash_profile

  2. Commenter quelque chose comme DOCKER_ *

  3. source ~/.bash_profile

  4. relancez le terminal, vous ne devriez avoir aucun problème à exécuter: docker info ou docker ps

J'espère que ça aide.

2
konglee28

Si le fichier est présent dans la variable d'environnement DOCKER_CERT_PATH, l'erreur peut également être due à un problème d'autorisations de fichier. Vérifiez également ce cas d'utilisation.

0
Nikhil Katre

J'ai rencontré la même erreur en raison de la configuration de l'environnement sur un ordinateur Docker particulier que j'ai supprimé ultérieurement, mais mon environnement était toujours défini sur l'ordinateur supprimé. Ainsi, les appels du menu fixe étaient redirigés vers une machine inexistante à l'origine de l'erreur.

Je désactive les variables d'environnement et le problème a été résolu:

eval $(docker-machine env -u)

Pour voir quelle variable d'environnement serait non définie, exécutez:

docker-machine env -u
0
HAK

Docker à partir du tableau de bord sur mon Mac a cessé de fonctionner ainsi que des commandes depuis le terminal. Je vais simplement dire ce que j'ai fait pour régler le problème pour moi, que cela ait un sens ou non, au cas où cela aiderait quelqu'un d'autre.

  • J'ai couru unset ${!DOCKER*}
  • J'ai ensuite couru:

    export DOCKER_Host=tcp://192.168.99.100:2376
    export DOCKER_MACHINE_NAME=default
    export DOCKER_TLS_VERIFY=1
    export DOCKER_CERT_PATH=~/.docker/machine/certs/
    
  • J'ai ensuite lancé: docker (qui ne fonctionnait que partiellement)

  • alors j'ai couru: unset ${!DOCKER*} encore
  • Puis j'ai lancé le menu fixe à partir du tableau de bord, lui ai donné une minute et maintenant il fonctionne à nouveau et tout est rentré dans l'ordre.
0
Helzgate

Ma solution dans macOS pour nettoyer la référence aux certs manquants, qui n'étaient pas dans ~/.bash_profile ou ~/.bashrc était la suivante:

unset ${!DOCKER*}

Source: https://forums.docker.com/t/initial-install-of-docker-for-mac-could-not-read-ca-certificate/9170/7

0
xaval