创建挂载源路径时 Docker 撰写错误

Mar*_*vic 14 docker docker-compose

我使用 cloudestuary 创建了一个 docker-compose.yml。下载并将其放入我的 Laravel 项目文件夹并运行 docker-compose up -d 后,下载发生,然后我收到此消息:

错误:对于 worker-1 无法启动 service worker-1:创建挂载源路径“/var/www/html/lensin/html”时出错:mkdir /var/www:只读文件系统

错误:对于 nginx 无法启动服务 nginx:创建挂载源路径“/var/www/html/lensin/html”时出错:mkdir /var/www:只读文件系统

错误:对于应用程序无法启动服务应用程序:创建挂载源路径“/var/www/html/lensin/html”时出错:mkdir /var/www:只读文件系统

错误:对于工作区无法启动服务工作区:创建挂载源路径“/var/www/html/lensin/html”时出错:mkdir /var/www:只读文件系统错误:启动项目时遇到错误。

我在 Ubuntu 17 上,甚至尝试将 777 设置为所有文件夹,并使用 sudo 运行它,但结果是一样的。我还尝试移动文件并编辑 yml 中的卷。

这是我的 docker compose 文件:

version: '2'
services:
    nginx:
        image: 'cloudestuary/nginx:mainline-fpm'
        restart: always
        environment:
            CLIENT_MAX_BODY_SIZE: 100m
            DOCUMENT_ROOT: /var/www/html/public
            INDEX_FILE: index.php
            PHP_FPM: app
        networks:
            - app
        volumes:
            - './html:/var/www/html'
        ports:
            - '80:80'
    app:
        image: 'cloudestuary/php-fpm:7.1'
        restart: always
        environment:
            MAX_UPLOAD_FILE_SIZE: 100m
            APP_URL: 'http://lensin.localhost'
            APP_KEY: 'base64:2X9U1HiBdmfbwvZ4UkwUP/25svg7439HXKWL1F8Xn1c='
            DB_CONNECTION: mysql
            DB_HOST: mysql
            DB_PORT: '3306'
            DB_DATABASE: cloudestuary
            DB_USER: cloudestuary
            DB_PASSWORD: secret
        networks:
            - app
        volumes:
            - './html:/var/www/html'
    workspace:
        image: 'cloudestuary/php-workspace:7.1'
        restart: always
        ports:
            - '2222:22'
        environment:
            MAX_UPLOAD_FILE_SIZE: 100m
            APP_URL: 'http://lensin.localhost'
            APP_KEY: 'base64:2X9U1HiBdmfbwvZ4UkwUP/25svg7439HXKWL1F8Xn1c='
            DB_CONNECTION: mysql
            DB_HOST: mysql
            DB_PORT: '3306'
            DB_DATABASE: cloudestuary
            DB_USER: cloudestuary
            DB_PASSWORD: secret
            SSH_PASSWORD: xsKEVWXPrdAeg
        networks:
            - app
        volumes:
            - './html:/var/www/html'
    worker-1:
        image: 'cloudestuary/php-cli:7.1'
        restart: always
        networks:
            - app
        environment: {  }
        volumes:
            - './html:/var/www/html'
        command: 'php artisan queue:work'
    mysql:
        image: 'mysql:5.7'
        restart: always
        networks:
            - app
        environment:
            MYSQL_ROOT_PASSWORD: toor
            MYSQL_PASSWORD: secret
            MYSQL_USER: cloudestuary
            MYSQL_DATABASE: cloudestuary
        volumes:
            - 'mysql-data:/var/lib/mysql'
volumes:
    mysql-data: {  }
networks:
    app: {  }
Run Code Online (Sandbox Code Playgroud)

Hyp*_*onX 23

从快照中删除泊坞窗

snap remove docker
Run Code Online (Sandbox Code Playgroud)

删除docker目录和旧版本(如果这些不存在也没关系)

rm -R /var/lib/docker

sudo apt-get remove docker docker-engine docker.io
Run Code Online (Sandbox Code Playgroud)

安装官方docker包:https : //docs.docker.com/install/linux/docker-ce/ubuntu/

  • 尽管这个解决方案没有解释为什么,但这实际上对我有用。能够挂载 /opt/xxx 而不会出现“创建挂载源路径时出错”错误。解释一下为什么这有效怎么样? (3认同)
  • 这个神秘的答案对我有用。使用 _snap remove **--purge** docker_ 跳过保存以前的快照,因为这可能需要很长时间。 (3认同)

小智 15

重新启动您的 docker 服务。那么问题就解决了。

sudo systemctl restart docker
Run Code Online (Sandbox Code Playgroud)