Estoy tratando de construir un enjambre docker con el archivo docker-compose.yml
version: '3' services: myapp-nginx: image: nginx:1.10 volumes: - ./nginx/certs:/etc/nginx/certs ports: - 80:80 - 443:443usando el comando de compilación como se muestra a continuación
$ docker stack deploy --compose-file docker-compose.yml myapp Creating network myapp_default Creating service myapp_myapp-nginx Mi sistema tiene Docker Version 17.03.1-ce-mac5 (16048)
Los montajes de volúmenes no funcionan. Si comento los volumes: - ./nginx/certs:/etc/nginx/certs entonces todo funciona bien.
De lo contrario, nginx no funciona en absoluto, veo
CAGTAM1059934:docker iskumar$ docker stack ps myapp ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS efjia8b7y6jd myapp_myapp-nginx.1 nginx:1.10 manager1 Ready Rejected 5 seconds ago "invalid mount config for type…" c9c6ogh11osi \_ myapp_myapp-nginx.1 nginx:1.10 worker2 Shutdown Rejected 10 seconds ago "invalid mount config for type…" iveikxpnbq6x \_ myapp_myapp-nginx.1 nginx:1.10 worker1 Shutdown Rejected 15 seconds ago "invalid mount config for type…"¿Hay alguna forma especial de montar volúmenes en docker-compose v3?
Debe usar rutas absolutas al montar volúmenes, también con docker run .
$ docker run --rm -it -v ./eos:/eos:ro ubuntu docker: Error response from daemon: create ./eos: "./eos" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intented to pass a host directory, use absolute path. See 'docker run --help'Estaba ejecutando docker stack deploy deployment desde mi macbook en lugar de máquinas virtuales boot2docker. Es por eso que el sistema no pudo encontrar esa fuente de montaje de red, aunque tenía manager1 activado usando eval $(docker-machine env manager1)
Primero usé el argumento --no-trunc para ver el mensaje de error completo.
$> docker node ps --no-trunc --- Showed "invalid mount config for type "bind": bind source path does not exist" ---Después de eso, copie los archivos del sistema host ( Mi MacBook ) a la VM y la pila de lanzamiento funcionó bien.
Crédito a https://github.com/docker/docker/issues/31202#issuecomment-281312704