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

254
Views
¿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 answers
Answer question

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 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!