Я хотел бы создать контейнер Apache и смонтировать текущий рабочий каталог как том в контейнере, поэтому у меня есть следующий код:
volumes:
- ${DOCUMENT_ROOT}:/var/www/html
Значение $ {DOCUMENT_ROOT} является точкой в Файл .env:
DOCUMENT_ROOT=.
Мой docker -compose.yml файл находится в root моего каталога проектов, а в моем каталоге проектов есть каталог. docker.
Я пробовал 3 строки:
volumes:
- .:/var/www/html
volumes:
- ./:/var/www/html
volumes:
- ${DOCUMENT_ROOT}:/var/www/html
Но у меня есть эта ошибка:
Создание 7.4.x-веб-сервера ... ошибка ОШИБКА: для 7.4.x-веб-сервера Невозможно создать контейнер для веб-сервера службы: b'create.: Имя тома слишком короткое, имена должны содержать не менее двух букв c символов '
ОШИБКА: для веб-сервера Невозможно создать контейнер для веб-сервера службы: b'create .: имя тома слишком короткое, имена должны состоять как минимум из двух букв c символов. ОШИБКА: Обнаружены ошибки при запуске проекта. Не удалось развернуть 'Compose: docker -compose.yml': docker-compose
процесс завершен с кодом выхода 1
Содержимое моего файла docker -compose.yml:
version: "3"
services:
webserver:
build:
context: ./.docker/bin/webserver
container_name: '7.4.x-webserver'
restart: 'always'
ports:
- "${HOST_MACHINE_UNSECURE_HOST_PORT}:80"
- "${HOST_MACHINE_SECURE_HOST_PORT}:443"
links:
- mysql
volumes:
- ${DOCUMENT_ROOT}:/var/www/html
- ${PHP_INI}:/usr/local/etc/php/php.ini
- ${VHOSTS_DIR}:/etc/apache2/sites-enabled
- ${LOG_DIR}:/var/log/apache2
mysql:
build:
context: "./.docker/bin/${DATABASE}"
container_name: 'mysql'
restart: 'always'
ports:
- "${HOST_MACHINE_MYSQL_PORT}:3306"
volumes:
- ${MYSQL_DATA_DIR}:/var/lib/mysql
- ${MYSQL_LOG_DIR}:/var/log/mysql
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: 'sc-phpmyadmin'
links:
- mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_USER: ${MYSQL_USER}
PMA_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- '${HOST_MACHINE_PHPMYADMIN_PORT}:80'
volumes:
- ./.docker/sessions
redis:
container_name: 'sc-redis'
image: redis:latest
ports:
- "${HOST_MACHINE_REDIS_PORT}:6379"
.env:
###> docker ###
DOCUMENT_ROOT=.
VHOSTS_DIR=./.docker/config/vhosts
APACHE_LOG_DIR=./.docker/logs/apache2
PHP_INI=./.docker/config/php/php.ini
DATABASE=mysql8
MYSQL_DATA_DIR=./.docker/data/mysql
MYSQL_LOG_DIR=./.docker/logs/mysql
HOST_MACHINE_UNSECURE_HOST_PORT=80
HOST_MACHINE_SECURE_HOST_PORT=443
HOST_MACHINE_MYSQL_PORT=3306
HOST_MACHINE_PHPMYADMIN_PORT=8080
HOST_MACHINE_REDIS_PORT=6379
MYSQL_ROOT_PASSWORD=tiger
MYSQL_USER=docker
MYSQL_PASSWORD=docker
MYSQL_DATABASE=docker
###> docker ###
Как исправить эту ошибку, пожалуйста?
Заранее спасибо за помощь