Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.3K
Vistas
Respuesta de error del daemon: error de análisis de Dockerfile Indicador desconocido: montar

Hay una pregunta anterior ( Docker Unknown flag --mount ) que enfrenta el mismo error que se debió a que se estaba ejecutando una versión desactualizada de Docker. Tengo una versión actualizada de Docker en ejecución.

Tengo el siguiente Dockerfile :

 FROM continuumio/miniconda3 RUN --mount=type=ssh pip install git+ssh://git@github.com/myrepo/myproject.git@develop RUN conda install numpy ...

De acuerdo con la documentación , debería poder simplemente ejecutar docker build --ssh default . . Sin embargo, recibo el siguiente error:

 Sending build context to Docker daemon 2.048kB Error response from daemon: Dockerfile parse error line 3: Unknown flag: mount

Salida de docker version :

 Client: Docker Engine - Community Version: 18.09.2 API version: 1.39 Go version: go1.10.8 Git commit: 6247962 Built: Sun Feb 10 04:12:39 2019 OS/Arch: darwin/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:06 2019 OS/Arch: linux/amd64 Experimental: true

Me gustaría crear una imagen de Docker sin exponer mis credenciales SSH privadas, y este parecía ser el método compatible. ¿Alguien tiene ideas sobre lo que está causando el problema?

over 4 years ago · Santiago Trujillo
5 Respuestas
Responde la pregunta

0

El mensaje de error que recibe debido a que escribió --mount dentro del Dockerfile . Primero debe habilitar Docker BuildKit para usar esta sintaxis.

Puede consultar todas las opciones de compilación disponibles actualmente aquí

over 4 years ago · Santiago Trujillo Denunciar

0

tl; dr

Dockerfile

 # syntax=docker/dockerfile:experimental FROM continuumio/miniconda3 RUN --mount=type=ssh pip install git+ssh://git@github.com/myrepo/myproject.git@develop RUN conda install numpy ...

Nota: el comentario en la primera línea es obligatorio vudú

Luego construye tu imagen acoplable con:

 DOCKER_BUILDKIT=1 docker build --ssh default -t my_image .

Con esto, podrá usar la opción --mount para la directiva RUN en su Dockerfile.


Respuesta larga

Como se encuentra en la documentación aquí , el reenvío ssh cuando se crea una imagen acoplable solo se habilita cuando se usa el backend BuildKit :

Características de implementación externa

Esta característica solo está disponible cuando se usa el backend de BuildKit .

La compilación de Docker admite funciones experimentales como montajes en caché, secretos de compilación y reenvío ssh que se habilitan mediante el uso de una implementación externa del compilador con una directiva de sintaxis. Para obtener más información sobre estas características, consulte la documentación en el repositorio de BuildKit .

Para esto, necesita Docker 18.09 (o posterior) y también debe ejecutar el comando de docker build con la variable de entorno DOCKER_BUILDKIT=1 e iniciar su archivo Docker con el siguiente comentario mágico : # syntax=docker/dockerfile:experimental .

También puede editar /etc/docker/daemon.json y agregar:

 { "experimental" : false, "debug" : true, "features": { "buildkit" : true } }
over 4 years ago · Santiago Trujillo Denunciar

0

Si está utilizando sudo para los comandos de la ventana acoplable, es posible que necesite:

sudo DOCKER_BUILDKIT=1 ...

over 4 years ago · Santiago Trujillo Denunciar

0

También recibí este error en Docker v19 y actualizarlo a la última versión resolvió mi problema.

Siga las instrucciones de la ventana acoplable aquí

over 4 years ago · Santiago Trujillo Denunciar

0

Para cualquier persona que pueda estar luchando con este tipo de error: asegúrese de que la primera línea del archivo sea '# syntax=docker/dockerfile:experimental'. Esto funcionará:

 # syntax=docker/dockerfile:experimental FROM golang:1.14.1 as builder ... RUN --mount=type=ssh GOSUMDB=off go get -d -v ./...

PERO si agrega un comentario al comienzo del archivo así:

 # SOME SILLY COMMENT HERE <--- this ostensibly innocent comment ruins everything! # syntax=docker/dockerfile:experimental FROM golang:1.14.1 as builder ... RUN --mount=type=ssh GOSUMDB=off go get -d -v ./...

Entonces 'syntax=...' no se tendrá en cuenta porque ya no está en la primera línea. ¡Es por eso que obtienes ese extraño error sobre 'montar' a continuación! ¡Gah!

Con suerte, esto salvará algunas horas de la vida de algunas personas.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda