compose docker boot2docker docker-toolbox

compose - ¿Cómo usar? ¿Opción de volumen con Docker Toolbox en Windows?



docker toolbox volume windows (7)

Prueba esto:

  1. Open Docker Quickstart Terminal . Si ya está abierto, ejecute $ cd ~ para asegurarse de que está en el directorio de usuario de Windows.
  2. $ docker run -it -v /$(pwd)/ubuntu:/windows ubuntu

Funcionará si el error se debe a un error tipográfico. Obtendrá una carpeta vacía llamada ubuntu en su directorio de usuario. Verá esta carpeta con las windows nombre en su contenedor ubuntu.

¿Cómo puedo compartir una carpeta entre mis archivos de Windows y un contenedor de docker, montando un volumen con el comando simple --volume usando Docker Toolbox?

Estoy usando "Docker Quickstart Terminal" y cuando pruebo esto:

winpty docker run -it --rm --volume /C/Users/myuser:/myuser ubuntu

Tengo este error:

Invalid value "C://Users//myuser//://myuser" for flag --volume: bad mount mode specified : /myuser See ''docker run --help''.

Después de this , también intenté

winpty docker run -it --rm --volume "//C/Users/myuser:/myuser" ubuntu

y consiguió

Invalid value "////C://Users//myuser//://myuser" for flag --volume: /myuser is not an absolute path See ''docker run --help''.


¡Lo resolví!

Agrega un volumen:

docker run -d -v mi-named-volume: C: / MyNamedVolume testimage: latest

Montar un directorio de host:

docker run -d -v C: / Temp / 123: C: / My / Shared / Dir testimage: más reciente


A partir de agosto de 2016, Docker para Windows ahora usa hyper-v directamente en lugar de virtualbox, por lo que creo que es un poco diferente. Primero comparta la unidad en la configuración y luego use el formato de letra C: unidad, pero use barras diagonales. Por ejemplo, creé un directorio H:/t/REDIS y pude verlo montado en /data en el contenedor con este comando:

docker run -it --rm -v h:/t/REDIS:/data redis sh

El mismo formato, usando la letra de la unidad y dos puntos, luego barras diagonales para el separador de ruta trabajado tanto desde el indicador de comandos de Windows como desde git bash.

Encontré esta pregunta en Google para encontrar una respuesta, pero no pude encontrar nada que funcionara. Las cosas parecen funcionar sin errores, pero no puedo ver los datos en el host (o viceversa). Finalmente revisé la configuración de cerca y probé el formato que muestran:

Entonces, primero, tiene que compartir todo el disco con la ventana acoplable vm en la configuración aquí, creo que eso le da a la máquina ''docker-machine'' funcionando en hiperv acceso a esa unidad. Luego debe usar el formato que se muestra allí, que parece existir solo en esta imagen y sin documentación o preguntas que pueda encontrar en la web:

docker run --rm -v c:/Users:/data alpine ls /data


Esta es una mejora de la respuesta seleccionada porque esa respuesta está limitada a la carpeta c: / Users. Si desea crear un volumen utilizando un directorio fuera de c: / Users, esta es una extensión.

En Windows 7, utilicé la caja de herramientas de Docker. Usó Virtual Box.

  1. Abrir caja virtual
  2. Seleccione la máquina (en mi caso por defecto).
  3. Haga clic derecho y seleccione la opción de configuración
  4. Ir a carpetas compartidas
  5. Incluye una nueva carpeta de máquina.

Por ejemplo, en mi caso he incluido:

**Name**: c:/dev **Path**: c/dev

  1. Haga clic y cierre
  2. Abra "Docker Quickstart Terminal" y reinicie la máquina acopladora.

Use este comando:

$ docker-machine restart

Para verificar que funcionó, sigue estos pasos:

  1. SSH a la máquina de docker.

Usando este comando:

$ docker-machine ssh

  1. Vaya a la carpeta que ha compartido / montado.

En mi caso, uso este comando

$ cd /c/dev

  1. Compruebe el propietario del usuario de la carpeta. Puede usar "ls -all" y verificar que el propietario será "docker"

Verás algo como esto:

docker@default:/c/dev$ ls -all total 92 drwxrwxrwx 1 docker staff 4096 Feb 23 14:16 ./ drwxr-xr-x 4 root root 80 Feb 24 09:01 ../ drwxrwxrwx 1 docker staff 4096 Jan 16 09:28 my_folder/

En ese caso, podrá crear un volumen para esa carpeta.

Puedes usar estos comandos:

docker create -v /c/dev/:/app/dev --name dev image docker run -d -it --volumes-from dev image

o

docker run -d -it -v /c/dev/:/app/dev image

Ambos comandos funcionan para mí. Espero que esto sea útil.


Esto es realmente un problema del proyecto y hay 2 soluciones alternativas de trabajo:

  1. Creando un volumen de datos:

    docker create -v //c/Users/myuser:/myuser --name data hello-world winpty docker run -it --rm --volumes-from data ubuntu

  2. SSHing directamente en el host Docker:

    docker-machine ssh default

    Y a partir de ahí haciendo un clásico:

    docker run -it --rm --volume /c/Users/myuser:/myuser ubuntu


Para aquellos que usan Virtual Box y prefieren el enfoque de línea de comando

1) Asegúrate de que la docker-machine no esté funcionando

Terminal Docker Quickstart:

docker-machine stop

2) Cree la máquina para compartir Windows <-> docker

Símbolo del sistema de Windows:
(Modifique los siguientes para que se ajusten a su escenario. Alimentar mi contenedor Apache httpd desde el directorio sincronizado a través de Dropbox).

set VBOX=D:/Program Files/Oracle/VirtualBox/VBoxManage.exe set VM_NAME=default set NAME=c/htdocs set HOSTPATH=%DROPBOX%/htdocs "%VBOX%" sharedfolder add "%VM_NAME%" --name "%NAME%" --hostpath "%HOSTPATH%" --automount

3) Arranque la docker-machine y monte el volumen en un nuevo contenedor

Terminal Docker Quickstart:
(De nuevo, estoy comenzando un contenedor httpd Apache, por lo tanto, ese puerto está exponiendo).

docker-machine start docker run -d --name my-apache-container-0 -p 80:80 -v /c/htdocs:/usr/local/apache2/htdocs my-apache-image:1.0


Si está buscando la solución que resuelva todos los problemas de Windows y la haga funcionar en el sistema operativo Windows de la misma manera que en Linux, consulte más abajo. Probé esto y funciona en todos los casos. También estoy mostrando cómo lo consigo (los pasos y el proceso de pensamiento).

Solución 1: utilice VirtualBox (si cree que no es una buena idea, consulte la Solución 2 a continuación)

  • Abra VirtualBox (ya lo tiene instalado junto con las herramientas del acoplador)
  • Crear una máquina virtual con una segunda tarjeta ethernet - puenteada, de esta manera recibirá la dirección IP de su red (tendrá IP como una docker machine)
  • Instalar Ubuntu LTS que es anterior a 1 año
  • Instalar el acoplador
  • Agregue directorios compartidos a la máquina virtual y ensamble sus directorios de proyectos (de esta manera tendrá acceso al directorio del proyecto desde Ubuntu) pero aún puede funcionar en Windows
  • Hecho

Prima:

  • Todo funciona de la misma manera que en Linux
  • Pausa / No pausa el entorno dockedized siempre que quieras

Solución 2: Use VirtualBox (esto es muy similar a la solución 1 pero también muestra el proceso de pensamiento, que podría ser útil al resolver problemas similares)

  • Lea que alguien mueva las carpetas a / C / Users / Public y eso funciona https://forums.docker.com/t/sharing-a-volume-on-windows-with-docker-toolbox/4953/2
  • Pruébalo, date cuenta de que no tiene mucho sentido en tu caso.
  • Lea toda la página aquí https://github.com/docker/toolbox/issues/607 y pruebe todas las soluciones enumeradas en la página
  • Encuentre esta página (la que está leyendo ahora) y pruebe todas las soluciones de otros comentarios
  • Encuentre información en algún lugar que establezca COMPOSE_CONVERT_WINDOWS_PATHS = 1 variable de entorno podría resolver el problema.
  • Deja de buscar la solución por algunos meses
  • Regrese y revise los mismos enlaces nuevamente
  • Llora profundamente
  • Siente el momento de iluminación
  • Abra VirtualBox (ya lo tiene instalado junto con las herramientas del acoplador)
  • Crear una máquina virtual con una segunda tarjeta ethernet - puenteada, de esta manera recibirá la dirección IP de su red (tendrá IP como una docker machine)
  • Instalar Ubuntu LTS que es muy reciente (no más de unos pocos meses)
  • Tenga en cuenta que el montaje automático no funciona realmente y la integración está rota (como el uso compartido de portapapeles, etc.)
  • Eliminar máquina virtual
  • Sal y toma una copa
  • Alquile un coche caro y vaya con alta velocidad en la carretera
  • Destruye el auto y muere
  • Respawn en frente de tu PC
  • Instalar Ubuntu LTS que es anterior a 1 año
  • Intenta ejecutar docker
  • Observe que no está instalado
  • Instala el docker by apt-get install docker
  • Instalar docker.io sugerido
  • Intenta ejecutar docker-compose
  • Observe que no está instalado
  • apt get install docker-componer
  • Intenta ejecutar tu proyecto con docker-compose
  • Tenga en cuenta que es una versión anterior
  • Verifique su nivel de potencia (debe ser más de 9000)
  • Busque cómo instalar la última versión de Docker y encuentre la guía oficial https://docs.docker.com/install/linux/docker-ce/ubuntu/
  • Desinstale la docker-compose y docker.io actual
  • Instala la ventana acoplable con la guía oficial https://docs.docker.com/install/linux/docker-ce/ubuntu/
  • Agregue directorios compartidos a la máquina virtual e instale sus directorios de proyectos (de esta manera tendrá acceso al directorio del proyecto desde Ubuntu, para que pueda ejecutar cualquier comando de docker)
  • Hecho