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

233
Views
¿Cómo copiar el volumen de la ventana acoplable de una máquina a otra?

Creé un volumen acoplable para postgres en mi máquina local.

 docker create volume postgres-data

Luego usé este volumen y ejecuté una ventana acoplable.

 docker run -it -v postgres-data:/var/lib/postgresql/9.6/main postgres

Después de eso, hice algunas operaciones de base de datos que se almacenaron automáticamente en postgres-data. Ahora quiero copiar ese volumen de mi máquina local a otra máquina remota. Cómo hacer lo mismo.

Nota: el tamaño de la base de datos es muy grande

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si la segunda máquina tiene habilitado SSH, puede usar un contenedor Alpine en la primera máquina para mapear el volumen, empaquetarlo y enviarlo a la segunda máquina.

Eso se vería así:

 docker run --rm -v <SOURCE_DATA_VOLUME_NAME>:/from alpine ash -c \ "cd /from ; tar -cf - . " | \ ssh <TARGET_HOST> \ 'docker run --rm -i -v <TARGET_DATA_VOLUME_NAME>:/to alpine ash -c "cd /to ; tar -xpvf - "'

Tendrás que cambiar:

  • SOURCE_DATA_VOLUME_NAME
  • HOST_OBJETIVO
  • TARGET_DATA_VOLUME_NAME

O bien, puede intentar usar este script auxiliar https://github.com/gdiepen/docker-convenience-scripts

Espero que esto ayude.

about 4 years ago · Santiago Trujillo Report

0

Tuve exactamente el mismo problema, pero en mi caso, ambos volúmenes estaban en VPC independientes y no podían exponer SSH al mundo exterior. Terminé creando dvsync que usa ngrok para crear un túnel entre ellos y luego uso rsync sobre SSH para copiar los datos. En su caso, podría iniciar el dvsync-server en su máquina:

 $ docker run --rm -e NGROK_AUTHTOKEN="$NGROK_AUTHTOKEN" \ --mount source=postgres-data,target=/data,readonly \ quay.io/suda/dvsync-server

y luego inicie dvsync-client en la máquina de destino:

 docker run -e DVSYNC_TOKEN="$DVSYNC_TOKEN" \ --mount source=MY_TARGET_VOLUME,target=/data \ quay.io/suda/dvsync-client

El NGROK_AUTHTOKEN se puede encontrar en el panel de ngrok y el DVSYNC_TOKEN muestra el dvsync-server en su salida estándar.

Una vez realizada la sincronización, el dvsync-client se detendrá.

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