Docker“无效的挂载路径app / symfony”必须是绝对的

时间:2017-07-24 10:48:53

标签: symfony nginx docker webpack docker-compose

我试图设置Webpack与docker一起运行。我想把它放在自己的容器中,构建文件,然后nginx将在其容器上提供生成的代码。

我的docker-compose.yml文件如下:

nginx: 
    build: ./nginx/
    ports:
     - 80:80
    links:
     - php
    volumes_from:
      - app
php:
    build: ./php/
    expose:
        - 9000
    links:
        - mysql
    volumes_from:
        - app

app:
    image: php:7.0-fpm
    volumes:
      - ./app/symfony:/var/www/html
    command: "true"

web:
    build: ./webpack
    volumes_from:
        - app
mysql:
    image: mysql:latest
    volumes_from:
        - data
    environment:
        MYSQL_ROOT_PASSWORD: secret
        MYSQL_DATABASE: project
        MYSQL_USER: project
        MYSQL_PASSWORD: project

data:
    image: mysql:latest
    volumes:
        - /var/lib/mysql
    command: "true"

我的代码存储在app/symfony目录中。 Webpack容器的Dockerfile目前是:

FROM node:wheezy

WORKDIR /app

RUN apt-get update
RUN apt-get install curl -y
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - && apt-get install nodejs -y
RUN npm install webpack -g
RUN npm install
CMD webpack --watch --watch-polling

我收到错误:

ERROR: for web  Cannot create container for service web: invalid bind mount spec "a60f89607640b36a468b471378a6b7079dfa5890db994a1228e7809b93b8b709:app/symfony:rw": invalid volume specification: 'a60f89607640b36a468b471378a6b7079dfa5890db994a1228e7809b93b8b709:app/symfony:rw': invalid mount config for type "volume": invalid mount path: 'app/symfony' mount path must be absolute
ERROR: Encountered errors while bringing up the project.

我希望webpack获取app / symfony中的代码,并构建任何资产,然后nginx容器将提供这些资源。

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。 我的docker-compose.yml看起来像这样

version: '3.1'
services:
  nginx:
    build:
      context: ./server
    ports:
      - "8080:80"
    volumes:
      - ./fw:opt/www/app/

并得到错误“无效的挂载路径:'opt/www/app'挂载路径必须是绝对的 "

我通过在路径前添加斜杠来更改挂载路径来解决它。

 volumes:
          - ./fw: /opt/www/app/