Запрошенный URL / не был найден на этом сервере ошибка при добавлении тома в файл yml - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь смонтировать локальный каталог в каталог докера, чтобы изменения могли быть внесены в исходный код и немедленно отражены в работающем приложении Laravel.Но он все равно не работает, когда я добавляю том докера в образ сервиса в файле yml.Вместо этого появляется ошибка 404 Not Found:

Not Found
The requested URL / was not found on this server.

Вот что я сделал:

docker-compose.yml

version: '2'

services:

  laravel:        
    build: 
      context: ./
      dockerfile: .dockerfile

    ports:
      - "8080:80"
    working_dir: /var/www
    volumes:
      - .:/var/www

    depends_on:
      - mysql

  mysql:        
    image: mysql:5.6.36

    volumes:
       - db_data:/var/lib/mysql

    environment:
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_DATABASE=homestead
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes

  phpmyadmin:
    depends_on:
      - mysql
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - 8090:80
    environment:
      PMA_HOST: mysql
      MYSQL_ROOT_PASSWORD: 

volumes:
    db_data:

Dockerfile

FROM php:7.1.5-apache

#install all the system dependencies and enable PHP modules 
RUN apt-get update && apt-get install -y \
      libicu-dev \
      libpq-dev \
      libmcrypt-dev \
      git \
      zip \
      unzip \
    && rm -r /var/lib/apt/lists/* \
    && docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \
    && docker-php-ext-install \
      intl \
      mbstring \
      mcrypt \
      pcntl \
      pdo_mysql \
      pdo_pgsql \
      pgsql \
      zip \
      opcache

#install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer

#set our application folder as an environment variable
ENV APP_HOME /var/www/html

#change uid and gid of apache to docker user uid/gid
RUN usermod -u 1000 www-data && groupmod -g 1000 www-data

#change the web_root to laravel /var/www/html/public folder
RUN sed -i -e "s/html/html\/public/g" /etc/apache2/sites-enabled/000-default.conf

# enable apache module rewrite
RUN a2enmod rewrite

#copy source files and run composer
COPY . $APP_HOME

# install all PHP dependencies
RUN composer install --no-interaction

#change ownership of our applications
RUN chown -R www-data:www-data $APP_HOME

К вашему сведению, все отлично работает, когда том не добавлен в laravel образ службы, но обновления не сделалиОтразить на док-контейнере.Мне нужно перестраивать изображения и контейнеры каждый раз, когда вносятся изменения.

Вопрос: Как изменения, сделанные в Laravel, могут отражаться в контейнере Docker?

...