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

253
Visualizações
¿Cómo montar el directorio actual como de solo lectura pero aún permitir cambios dentro del contenedor?

Tengo una situación en la que:

  • Quiero montar un directorio ~/tmp/mycode a /mycode solo lectura
  • Quiero poder editar los archivos en el directorio, así que no puedo simplemente ejecutar -v /my/local/path/tmp/mycode:/mycode
    • Sin embargo, quiero que no persistan los cambios en el sistema de archivos del host, así que no puedo montarlo en lectura/escritura
  • ~/tmp/mycode es bastante grande

Básicamente, quiero poder editar los archivos en el volumen montado pero que esos cambios no persistan.

Mi flujo de trabajo actual es crear un contenedor ficticio usando un dockerfile:

 ADD . /mycode

y luego ejecutar ese contenedor.

Sin embargo, a medida que crece el repositorio, este paso lleva más y más tiempo, porque la única forma que se me ocurre es hacer una copia completa de ~/tmp/mycode para poder manipular los archivos en el contenedor.

También pensé en montar el directorio y copiarlo dentro del contenedor y confirmar ese contenedor, pero eso tiene el mismo problema.

¿Hay alguna manera de ejecutar un contenedor docker para permitir la edición de archivos sin que persistan en el host sin copiar todo el directorio?

Estoy usando la última ventana acoplable para Mac, actualmente la versión 17.03.1-ce-mac5 (16048).

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Esto es bastante trivial de hacer con la ventana acoplable y la superposición:

 docker run --name myenv --privileged -v /my/local/path/tmp/mycode:/mnt/rocode:ro -it ubuntu /bin/bash docker exec -d myenv /sbin/mount -t overlay overlay -o lowerdir=/mnt/rocode,upperdir=/mycode,workdir=/mnt/code-workdir /mycode

Esto debería montar el código de su directorio de solo lectura y crear la superposición dentro del contenedor para que /mnt/rocode sea de solo lectura, pero /mycode se pueda escribir.

Asegúrese de que su kernel sea 3.18+ y que tenga una superposición en su /proc/filesystems.

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