Docker -составить: имя тома слишком короткое, имена должны содержать не менее двух букв c символов - PullRequest
0 голосов
/ 25 января 2020

Я хотел бы создать контейнер 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 ###

Как исправить эту ошибку, пожалуйста?

Заранее спасибо за помощь

1 Ответ

1 голос
/ 25 января 2020

попробуйте что-то вроде этого - ${PWD}/:/var/www/html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...