2017-05-12 3 views
0

Ich versuchte Docker zum ersten Mal in dieser Woche und stießen auf einige Probleme mit Windows 10. Ich meine Umgebung einstellen könnte sehr leicht auf macOS aber nicht auf Windows 10.kann nicht sehen, Dateien mit Docker auf Windows 10

Ich habe gerade das Boilerplate von WebDevops (https://github.com/webdevops/php-docker-boilerplate) für einen Starter verwendet. Wenn ich unter Windows 10 keinen Standardcomputer erstelle, verwendet Docker das, was ich sehe, MobyLinuxVM.

In meinem Ordner, die auf nicht Laufwerk C:, aber auf einer anderen namens E: (alle sind meine Laufwerke in Docker Einstellungen gemeinsam), wenn ich eine einfache docker-compose up -d tun, kann ich meine app Ordner zugreifen mit http://localhost:8000 und PHPMyAdmin mit http://localhost:8080.

Wenn ich jetzt einen Computer mit dem HyperV-Treiber erstelle, setze ihn als Standard-Rechner, aktiviere ihn und mache einen Docker-Compose, ich kann immer noch auf PHPMyAdmin und den App-Ordner zugreifen, aber der letzte ist leer! Eine einfache index.php Datei wird nicht interpretiert.

Um eine Maschine erzeuge ich die folgenden Dinge tun:

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 

Hier ist meine Docker-compose.yml Datei:

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 

Hat jemand einen Vorschlag? Jede Hilfe würde sehr geschätzt werden! Danke vielmals!

Antwort

0

Host-to-VM-Volume-Mounting funktioniert nicht mit zufälligen VMs, die mit docker-machine erstellt wurden. Es funktioniert nur, wenn Sie das von Docker für Windows bereitgestellte Setup verwenden (oder alternativ, wenn Sie Docker Toolbox unter Windows mit dem VirtualBox-Treiber verwenden, aber Sie sollten nur bei Docker für Windows bleiben, da Sie unter Windows 10 arbeiten).

Warum möchten Sie mehr VMs erstellen und warum müssen Sie Volumes in solche vom Windows-Host einbinden?

+0

Hallo! Vielen Dank für deine Antwort! In der Tat fragte ich mich, ob es eine gute Idee war, mehr Maschinen zu erstellen, um Websites in der Entwicklung auf meinem Computer zu hosten. Aber wenn ich deine Antwort richtig verstanden habe, ist es eine bessere Wahl, keinen zusätzlichen Rechner zu erstellen und bei MobyLinuxVM zu bleiben und über localhost auf meine App zuzugreifen, richtig? – LancelotKiin

Verwandte Themen