Ce que je veux faire:Comment définir des certificats TLS pour une machine à docker machine
Je dockerd en cours d'exécution sur une machine avec TLS VÉRIFIER définie sur true. Je voudrais ajouter cet hôte comme une machine à docker-machine
Ce que je l'ai fait:
J'ai utilisé la commande suivante pour démarrer dockerd:
$ sudo dockerd -D --tls=true --tlscert=cert.pem --tlskey=key.pem -H tcp://172.19.48.247:2376
Sur une deuxième machine, je proviennent les variables suivantes:
export DOCKER_HOST=tcp://172.19.48.247:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/path/to/ssl
et coururent commande: docker avec succès
$ docker run busybox echo hello
hello
Puis j'ajouté ce docker-machine hôte:
docker-machine create --driver none --url=tcp://172.19.48.247:2376 dockerhost
Là où je me trompe:
Je reçois une erreur x509: certificate signed by unknown authority
maintenant.
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS Unknown
dockerhost - none Running tcp://172.19.48.247:2376 Unknown Unable to query docker version: Get https://172.19.48.247:2376/v1.15/version: x509: certificate signed by unknown authority
J'ai essayé d'utiliser le docker-machine config
, mais cela ne fonctionne pas:
$ docker-machine config dockerhost --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H tcp://172.19.48.247:2376
Incorrect Usage.
Usage: docker-machine config [OPTIONS] [arg...]
Print the connection config for machine
Description:
Argument is a machine name.
Options:
--swarm Display the Swarm config instead of the Docker daemon
flag provided but not defined: -tlsverify
Essayez de déplacer dockerhost à la fin de la commande et non le début –