Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.3K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda