Я новичок в docker и docker-compose, и у меня проблема с постоянным хранилищем. У меня есть три папки, в которых мне нужно хранить файлы вне докера. Я не знаю, что я делаю неправильно.
docker-compose.yaml
version: '3.3'
services:
webserver:
build:
context: ./
dockerfile: webserver.DockerFile
ports:
- 80:80
- 443:443
volumes:
- html:/var/www/html
- platforms:/var/www/platforms
- sites-available:/etc/apache2/sites-available
mysql-server:
image: mysql:8.0.20
restart: always
environment:
MYSQL_ROOT_PASSWORD: somepassword555
phpmyadmin:
image: phpmyadmin/phpmyadmin:5.0.1
restart: always
environment:
PMA_HOST: mysql-server
PMA_USER: root
PMA_PASSWORD: somepassword555
ports:
- "8080:80"
Когда я запускаю сборку на этом, я получаю пустые папки на веб-сервере. Папки на хосте не пусты.
EDIT: уточнить
на HOST есть:
webserver.DockerFile
docker-compose.yml
- html
--- index.php
--- ...
- platforms
--- dir1
--- dir2
--- dir3
--- ...
- sites-available
--- backend.conf
--- frontend.conf
внутри webserver.Dockerfile есть:
RUN mkdir -p /var/www/html/backend
RUN mkdir -p /var/www/html/frontend
RUN a2ensite backend.conf frontend.conf
который не создает каталоги «backend» и «frontend» на HOST, а затем терпит неудачу на a2ensite с ошибкой:
ERROR: Site backend does not exist!
ERROR: Site frontend does not exist!
ERROR: Service 'webserver' failed to build: The command '/bin/sh -c a2ensite backend.conf frontend.conf' returned a non-zero code: 1
Все это указало мне на то, что каталоги в DOCKER, которые я хотел связать/смонтировать с помощью HOST, на самом деле пусты:
/var/www/html
/var/www/platforms
/etc/apache2/sites-available
но каталоги на HOST не пусты.
I get empty folders in webserver
какие каталоги? Как это проверить?Folders on host are not empty.
Какие каталоги пусты? Как ты это проверил? Пожалуйста, будьте более конкретными. Создайте минимально воспроизводимый пример.volumes: - html
html
не./html
- один создает именованный том, другой связывает каталог. Пожалуйста, изучите ссылку для docker-compose. Работает ли соединение между именованным томом и каталогом внутри контейнера докеров? - person KamilCuk   schedule 29.09.2020docker volume ls
, чтобы увидеть именованные тома. - person Peaceful James   schedule 29.09.2020