适用于Windows的Docker-compose php-fpm和Apache无法正常工作

时间:2019-05-28 14:59:14

标签: windows docker docker-compose

我正在从使用Docker compose的Github克隆一个项目。我可以安装该项目,并在Mac上成功启动Docker。但是现在我将该项目拖到Windows 10笔记本电脑上,并尝试运行docker-compose up --build -d。但是我遇到了以下错误。

ERROR: for apache  Cannot create container for service apache: invalid bind mount spec "/C/Users/Acer/Desktop/test-project-portal/public:/var/www/public:cached": invalid
mode: cached

ERROR: for php-fpm  Cannot create container for service php-fpm: invalid bind mount spec "/C/Users/Acer/Documents/.composer/cache:/root/.composer/cache:delegated": invalid mode: dele
gated
ERROR: Encountered errors while bringing up the project.

这是我的docker-compose.yml文件。

version: '2'
services:
    apache:
        container_name: test_apache
        image: webdevops/apache:ubuntu-16.04
        environment:
            WEB_DOCUMENT_ROOT: /var/www/public
            WEB_ALIAS_DOMAIN: cabotfinancial.localhost
            WEB_PHP_SOCKET: php-fpm:9000
        volumes:
            - ./public:/var/www/public:cached
            - ./mock:/var/www/mock:cached
            - ./storage:/var/www/storage:cached
        networks:
            - network
        ports:
            - "80:80"
            - "443:443"
    php-fpm:
        container_name: test_php
        image: cyberduck/php-fpm-laravel:7.2-minimal
        volumes:
            - ./app:/var/www/app
            - ./.env:/var/www/.env
            - ./phpunit.xml:/var/www/phpunit.xml
            - ./config:/var/www/config
            - ./database:/var/www/database
            - ./mock:/var/www/mock
            - ./public:/var/www/public
            - ./resources:/var/www/resources
            - ./tests:/var/www/tests
            - ./.git:/var/www/.git:cached
            - ./routes:/var/www/routes:cached
            - ./artisan:/var/www/artisan:cached
            - ./vendor:/var/www/vendor:delegated
            - ./storage:/var/www/storage:delegated
            - ./bootstrap:/var/www/bootstrap:delegated
            - ./composer.json:/var/www/composer.json:delegated
            - ./composer.lock:/var/www/composer.lock:delegated
            - ~/.composer/cache:/root/.composer/cache:delegated
        networks:
            - network
    redis:
        container_name: test_redis
        image: redis:2.8.22
        networks:
            - network
        ports:
            - "6379:6379"
    db:
        container_name: test_db
        image: mariadb:10.1
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: test
            MYSQL_USER: test
            MYSQL_PASSWORD: test
        volumes:
            - db_data:/var/lib/mysql
        networks:
            - network
        ports:
            - "33060:3306"
    es:
        container_name: test_es
        image: elasticsearch:2.4.6
        volumes:
              - es_data:/usr/share/elasticsearch/data
        networks:
            - network
        ports:
            - "9200:9200"
networks:
    network:
        driver: "bridge"
volumes:
    db_data:
        driver: "local"
    es_data:
        driver: "local"

配置有什么问题?我也尝试过运行以下命令。

set COMPOSE_CONVERT_WINDOWS_PATHS=1

那是行不通的。

0 个答案:

没有答案