Saltar al contenido

docker copia el archivo de un contenedor a otro?

Investigamos por todo internet para así traerte la respuesta a tu duda, en caso de alguna difcultad deja tu inquietud y te contestamos con mucho gusto, porque estamos para servirte.

Solución:

En versiones recientes de la ventana acoplable, los volúmenes con nombre reemplazan a los contenedores de datos como la forma más sencilla de compartir datos entre contenedores.

docker volume create --name myshare
docker run -v myshare:/shared task1
docker run -v myshare:/shared -p 8080:8080 task2
...

Esos comandos configurarán un volumen local y el -v myshare:/shared el argumento hará que ese recurso compartido esté disponible como la carpeta /shared dentro de cada uno de cada contenedor.

Para expresar eso en un archivo compuesto:

version: '2'
services:
  task1:
    build: ./task1
  volumes:
    - 'myshare:/shared'

  task2:
    build: ./task2
  ports:
    - '8080:8080'
  volumes:
    - 'myshare:/shared'

volumes:
  myshare:
    driver: local 

Para probar esto, hice un pequeño proyecto:

- docker-compose.yml (above)
- task1/Dockerfile
- task1/app.py
- task2/Dockerfile

Usé el servidor http del nodo como task2/Dockerfile:

FROM node
RUN npm install -g http-server
WORKDIR /shared
CMD http-server

y task1/Dockerfile utilizado python:alpinepara mostrar dos pilas diferentes de escritura y lectura.

FROM python:alpine
WORKDIR /app
COPY . .
CMD python app.py

aquí está task1/app.py

import time

count = 0
while True:
  fname = '/shared/.txt'.format(count)
  with open(fname, 'w') as f:
    f.write('content '.format(count))
    count = count + 1
  time.sleep(10)

Tome esos cuatro archivos y ejecútelos a través de docker compose up en el directorio con docker-compose.yml – luego visite $DOCKER_HOST:8080 para ver una lista de archivos constantemente actualizada.

Además, estoy usando la versión docker 1.12.0 y componer versión 1.8.0 pero esto debería funcionar para algunas versiones anteriores.

Y asegúrese de consultar los documentos de la ventana acoplable para obtener detalles que probablemente me he perdido aquí:
https://docs.docker.com/engine/tutorials/dockervolumes/

Para mí, la mejor manera de copiar un archivo desde o hacia un contenedor es usar docker cp por ejemplo: si quieres copiar schema.xml desde apachenuez contenedor para Solr contenedor entonces:

  1. docker cp apacheNutch:/root/nutch/conf/schema.xml /tmp/schema.xml

    servidor/solr/conjuntos de configuración/nutch/

  2. docker cp /tmp/schema.xml
    solr:/opt/solr-8.1.1/server/solr/configsets/nutch/conf

Si te gustó nuestro trabajo, puedes dejar un escrito acerca de qué te ha impresionado de esta noticia.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *