Я пробовал множество различных комбинаций в файле docker -compose.yml.
когда эта строка:
- .:/var/www/html
изменилась на эту:
- *:/var/www/html
Затем он скопирует файлы в рабочий каталог, но нет синхронизации c. Я попытался заключить строку в кавычки, изменив точку на ./, но безрезультатно. var / www/html либо пуст, либо содержит файлы только при использовании *, но синхронизация не происходит c.
Вот мои Dockerfile
FROM php:7.3.0-apache
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& apt-get update && apt-get install -y git libzip-dev unzip \
&& docker-php-ext-install zip \
&& a2enmod rewrite headers
COPY . /var/www/html/
COPY ./config/vhost.conf /etc/apache2/sites-available/000-default.conf
и docker -compose .yml.
version: '3.4'
services:
app:
ports:
- 80:80
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/app/public
build:
context: .
volumes:
- .:/var/www/html
РЕДАКТИРОВАТЬ: Обновить. Я попытался удалить строку копирования, работал только так, чтобы создать пустой каталог html в контейнере. Что касается того, как я проверяю, я делаю docker exe c -it в контейнере runnint и просто выполняю команду ls в каталоге html. Я переустановил docker toolbox и заметил, что с ним gui ... Я не видел никаких объемов при выполнении docker volume ls, но объем отображается в Kitemati c. Однако каталог на главной машине НЕ такой, как можно было бы ожидать, это не папка на диске d, в которой находится docker -compose, а папка в моих документах. Попытка изменить его на правильный в gui, и он говорит неверный каталог. Я помню, как где-то читал, что docker имеет ограниченный доступ к файловой системе хоста, и мне интересно, не пропустил ли я здесь шаг и вместо этого должен поделиться всем диском D с docker.
EDIT 2: Добавлено папку на диске d на виртуальную машину с именем default в список общих папок, перезапустил все и по-прежнему нет кубиков. Как я могу указать местоположение на диске d?