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

179
Visualizações
¿Es posible cambiar el estado de solo lectura/lectura y escritura de un montaje acoplable en tiempo de ejecución?

Tengo una aplicación dockerizada que usa el sistema de archivos para almacenar muchos estados. El código de la aplicación está contenido en la imagen de la ventana acoplable.

Estoy considerando una estrategia de actualización que implica compartir el volumen entre dos contenedores, pero asegurándome de que, como máximo, un contenedor a la vez pueda escribir en ese sistema de archivos.

El flujo de trabajo sería:

  • inicie el contenedor A con /data montado rw
  • inicie el contenedor B con /data montado ro y una versión más reciente de la aplicación
  • dejar de entregar solicitudes al contenedor A
  • para el contenedor A, haga que el montaje /data sea de solo lectura
  • para el contenedor B, haga que el montaje /data sea de lectura y escritura
  • comenzar a entregar solicitudes al contenedor B
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puede volver a montar su volumen desde el interior del contenedor, en el modo rw , así:

 mount -o remount,rw /mnt/data

El problema es que montar syscall no está permitido dentro de los contenedores de Docker de forma predeterminada, por lo que tendría que ejecutarlo en un modo privilegiado:

 docker run --privileged ...

o habilite la capacidad SYS_ADMIN

SYS_ADMIN Realiza una serie de operaciones de administración del sistema.

 docker run --cap-add=SYS_ADMIN --security-opt apparmor:unconfined

(Tenga en cuenta que también tuve que agregar --security-opt apparmor:unconfined, para que esto funcione en Ubuntu).

Además, volver a montar el volumen rw de nuevo a ro puede ser complicado, ya que es posible que algunos procesos ya hayan abierto algunos archivos dentro de él para escribir, en cuyo caso el remount fallará con el mensaje de error is busy .

Pero supongo que puede reiniciar el contenedor en su lugar (ya que sería el que ejecuta una versión anterior de la aplicación).

over 4 years ago · Santiago Trujillo Relatório

0

No es exactamente lo que solicitó el OP, pero tuve una pregunta similar en la que necesitaba obtener datos FUERA del contenedor en ejecución, pero había montado RW.

Otras formas de extraer los datos habrían llevado demasiado tiempo.

Mi acercamiento ? Guarde el contenedor como una imagen y comience un nuevo contenedor a partir de esa imagen con un montaje como RW: D

Comienzo inicial del contenedor:

 docker run -p 80:8080 --mount type=bind,source="C:\data-folder-local\",target=/data-folder-container-ro,readonly -d imageName:imageTag

Haciendo una imagen del contenedor. Puede detener este contenedor antes/después si lo desea.

 docker commit -a "mud" -m "Damn, mount should be rw, stashing a snapshot to reuse." CONTAINER_ID_HERE snapshotImageName:snapshotImageTag

donde CONTAINER_ID_HERE obtuve de la salida de docker ps ( https://docs.docker.com/engine/reference/commandline/ps/ )

Inicie un nuevo contenedor a partir de la imagen creada, ¡pero esta vez monte con derechos de escritura!

 docker run -p 80:8080 --mount type=bind,source="C:\data-folder-local\",target=/data-folder-container-rw -d snapshotImageName:snapshotImageTag

escriba archivos en la carpeta de montaje (en el sistema local) desde dentro de su contenedor: D

Espero que eso ayude a alguien.

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