Can';无法在Windows 10上使用Docker查看文件

Can';无法在Windows 10上使用Docker查看文件,windows,docker,docker-compose,Windows,Docker,Docker Compose,本周我第一次尝试Docker,但在Windows 10上遇到了一些问题。我可以很容易地在macOS上设置我的环境,但不能在Windows 10上设置 我刚刚使用WebDevops()中的样板文件作为开始。在Windows10上,如果我没有创建默认机器,从我看到的情况来看,Docker使用MobyLinux虚拟机 在我的文件夹中,它不是在C:drive上,而是在另一个名为E的文件夹中:(我的所有驱动器都在Docker设置中共享),如果我执行一个简单的Docker compose up-d,我可以使

本周我第一次尝试Docker,但在Windows 10上遇到了一些问题。我可以很容易地在macOS上设置我的环境,但不能在Windows 10上设置

我刚刚使用WebDevops()中的样板文件作为开始。在Windows10上,如果我没有创建默认机器,从我看到的情况来看,Docker使用MobyLinux虚拟机

在我的文件夹中,它不是在C:drive上,而是在另一个名为E的文件夹中:(我的所有驱动器都在Docker设置中共享),如果我执行一个简单的
Docker compose up-d
,我可以使用和PHPMyAdmin访问我的应用程序文件夹

现在,如果我使用HyperV驱动程序创建一台机器,将其设置为默认机器,激活它并制作docker compose,我仍然可以访问PHPMyAdmin和应用程序文件夹,但最后一个文件夹是空的!不会解释简单的index.php文件

要创建机器,我需要执行以下操作:

docker-machine create --driver hyperv --hyperv-virtual-switch "Primary Virtual Switch" default
docker machine env default
& "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env default | Invoke-Expression
这是我的docker-compose.yml文件:

version: '2'
services:
  #######################################
  # PHP application Docker container
  #######################################
  app:
    build:
      context: .
      dockerfile: Dockerfile.development
    links:
      - mail
      - mysql
      #- postgres
      #- solr
      #- elasticsearch
      #- redis
      #- memcached
      #- ftp
    ports:
      - "8000:80"
      - "8443:443"
      - "10022:22"
    volumes:
      - ./app/:/app/
      - ./:/docker/
    volumes_from:
      - storage
    # cap and privileged needed for slowlog
    cap_add:
      - SYS_PTRACE
    privileged: true
    env_file:
      - etc/environment.yml
      - etc/environment.development.yml
    environment:
      - VIRTUAL_HOST=.app.boilerplate.docker
      - VIRTUAL_PORT=80
      - POSTFIX_RELAYHOST=[mail]:1025


  #######################################
  # MySQL server
  #######################################
  mysql:
    build:
      context: docker/mysql/
      #dockerfile: MySQL-5.5.Dockerfile
      dockerfile: MySQL-5.6.Dockerfile
      #dockerfile: MySQL-5.7.Dockerfile
      #dockerfile: MariaDB-5.5.Dockerfile
      #dockerfile: MariaDB-10.Dockerfile
      #dockerfile: Percona-5.5.Dockerfile
      #dockerfile: Percona-5.6.Dockerfile
      #dockerfile: Percona-5.7.Dockerfile
    ports:
      - 13306:3306
    volumes_from:
      - storage
    env_file:
      - etc/environment.yml
      - etc/environment.development.yml

  #######################################
  # PostgreSQL server
  #######################################
  #postgres:
  #  build:
  #    context: docker/postgres/
  #    dockerfile: Postgres-9.4.Dockerfile
  #    dockerfile: Postgres-9.5.Dockerfile
  #  ports:
  #    - 15432:5432
  #  volumes_from:
  #    - storage
  #  env_file:
  #    - etc/environment.yml
  #    - etc/environment.development.yml

  #######################################
  # Solr server
  #######################################
  #solr:
  #  build:
  #    context: docker/solr/
  #  volumes_from:
  #    - storage
  #  env_file:
  #    - etc/environment.yml
  #    - etc/environment.development.yml
  #  environment:
  #    - SOLR_STORAGE=/storage/solr/server-master/
  #    - VIRTUAL_HOST=solr.boilerplate.docker
  #    - VIRTUAL_PORT=8983

  #######################################
  # Elasticsearch
  #######################################
  #elasticsearch:
  #  build:
  #    context: docker/elasticsearch/
  #  ports:
  #    - 19200:9200
  #    - 19300:9300
  #  volumes_from:
  #    - storage
  #  env_file:
  #    - etc/environment.yml
  #    - etc/environment.development.yml
  #  environment:
  #    - VIRTUAL_HOST=elasticsearch.boilerplate.docker
  #    - VIRTUAL_PORT=9200

  #######################################
  # Redis
  #######################################
  #redis:
  #  build:
  #    context: docker/redis/
  #  volumes_from:
  #    - storage
  #  env_file:
  #    - etc/environment.yml
  #    - etc/environment.development.yml

  #######################################
  # Memcached
  #######################################
  #memcached:
  #  build:
  #    context: docker/memcached/
  #  volumes_from:
  #    - storage
  #  env_file:
  #    - etc/environment.yml
  #    - etc/environment.development.yml

  #######################################
  # Mail
  #######################################
  # Mailhog
  mail:
     image: mailhog/mailhog
   #  ports:
   #    - 8025:8025
     environment:
      - VIRTUAL_HOST=mail.boilerplate.docker
      - VIRTUAL_PORT=8025

  # Mailcatcher
  #mail:
  #  image: schickling/mailcatcher
  #  environment:
  #    - VIRTUAL_HOST=mail.boilerplate.docker
  #    - VIRTUAL_PORT=1080


  # Mailsandbox
  #mail:
  #  image: webdevops/mail-sandbox
  #  environment:
  #    - VIRTUAL_HOST=mail.boilerplate.docker
  #    - VIRTUAL_PORT=80

  #######################################
  # FTP (vsftpd)
  #######################################
  #ftp:
  #  build:
  #    context: docker/vsftpd/
  #  volumes_from:
  #    - storage
  #  volumes:
  #    - ./:/application/
  #  env_file:
  #    - etc/environment.yml
  #    - etc/environment.development.yml

  #######################################
  # phpMyAdmin
  #######################################
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
      - mysql
    environment:
      - PMA_HOSTS=mysql
      - VIRTUAL_HOST=pma.boilerplate.docker
      - VIRTUAL_PORT=80
    ports:
      - "8080:80"
    volumes:
      - /sessions

  #######################################
  # Storage
  #######################################
  storage:
    build:
      context: docker/storage/
    volumes:
      - /storage

有人有什么建议吗?任何帮助都将不胜感激!非常感谢

主机到虚拟机的卷装载无法与使用
docker机器创建的随机虚拟机一起工作。它只在使用Docker for Windows提供的安装程序时才起作用(或者,如果您在Windows上使用Docker Toolbox和VirtualBox驱动程序,那么您应该坚持使用Docker for Windows,因为您在Windows 10上)


为什么要创建更多虚拟机,为什么需要从Windows主机将卷装入这些虚拟机?

Hi!非常感谢你的回答!事实上,我想知道在我的电脑上创建更多的机器来托管正在开发的网站是否是个好主意。但如果我正确理解了你的答案,那么不创建额外的机器,继续使用MobyLinux虚拟机并通过localhost访问我的应用程序是一个更好的选择,对吗?