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.
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.
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>
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.
vim ~/.bash_profile
Commenter quelque chose comme DOCKER_ *
source ~/.bash_profile
docker info
ou docker ps
J'espère que ça aide.
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.
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
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.
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)
unset ${!DOCKER*}
encoreMa 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