Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.3K
Views
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 answers
Answer question

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 Report

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!