Docker host para compartir archivos simple <> docker

Oct 25 2020

Soy nuevo en Docker. Estoy tratando de lograr ejecutar una ventana acoplable y agregar algunos archivos. El usuario debería poder cambiar estos archivos y dejar que la ventana acoplable haga su magia. El rendimiento no es importante, sino la sencillez. Debería ser posible ejecutar la ventana acoplable sin más argumentos, solo "-it". Traté de usar Volumes, pero ...

docker-compose.yml:

version: '3.4'

volumes:
  data:
    name: templatevolume

services:
  template:
    image: template
    volumes:
        - data:/usr/template/:rw
    build:
        context: .
        dockerfile: ./Dockerfile

... se creará el Volumen, pero no se asignará al Docker. ¿Existe una forma mejor? ¿Necesito asignar el volumen al Docker dentro del comando de ejecución? Por favor aconséjame.

Dockerfile:

FROM fedora:latest

LABEL Name=template Version=0.0.1

...

es un Dockerfile largo, pero no hago nada con Volumes aquí y nada especial, solo instalo paquetes.

Respuestas

IvanAvdonin Oct 26 2020 at 00:40

Puede utilizar monturas de enlace. Montarán un directorio de su máquina física en su contenedor docker.

Para dicho volumen, debe especificar el origen del montaje, que es la ruta al archivo o directorio en el host del demonio Docker (su computadora) y el destino , que es la ruta donde se monta el archivo o directorio en el contenedor (dentro del envase).

- "source:target"

No es necesario crear ningún volumen de ventana acoplable.

Creemos un directorio oculto .data en el directorio de su archivo yml de docker-compose

$ mkdir .data

Ahora el archivo docker-componte:

version: '3.4'

services:
  template:
    image: template
    volumes:
        - data:/usr/template/:rw
        - "./.data:/usr/template/"
    build:
        context: .
        dockerfile: ./Dockerfile

Eso es. Un usuario puede tener acceso a los archivos en .data y Docker también puede trabajar con todo el contenido allí.