Я пытаюсь выполнить Dockerize и Open Source проект, который я создал на втором курсе колледжа, этот проект использует MariaDB, phpMyAdmin и PHP/Yii Framework.Объемы докеров MariaDB Windows
Моя цель - подготовить его к использованию только с помощью простой команды docker-compose up
.
Мне удалось установить связь между phpMyAdmin и DB, и теперь я застрял на попытке получить Docker для относительного пути к тому базы данных, чтобы сделать его согласованным.
Вот что я относительно объема монтажа:
volumes:
- './database/mysql/:/var/lib/mysql'
Это хранит файлы базы данных внутри проекта, а затем я могу игнорировать эти файлы в .gitignore
Проблема заключается в том, когда я запускаю docker-compose up
с этой конфигурацией Я получаю:
Invalid volume specification: 'C:\Users\MySelf\coding\my_app\database\mysql:/var/lib/mysql:rw'
Что касается принимающей стороны, я использую Windows с Докер Toolbox, но я хочу, чтобы docker-compose.yml
ш ork независимо от ОС.
Я видел другие похожие вопросы, но их ошибка исходила из проблем с абсолютными путями в Windows, которые я не ищу.
EDIT: Добавление правильный окончательный Докер-compose.yml, мы надеемся, что это может помочь
version: '2'
services:
web_db:
build: ./database/mysql
command: "mysqld --innodb-buffer-pool-size=20M"
volumes:
- ./database/mysql/data/:/var/lib/mysql
- ./database/mysql/initDB/create_tables.sql:/docker-entrypoint-initdb.d/create_tables.sql
environment:
MYSQL_ROOT_PASSWORD: 'YOURPASSWORD'
MYSQL_DATABASE: 'support-technique'
MYSQL_ROOT_HOST: '172.17.0.1'
ports:
- "3306:3306"
container_name: web_db
web:
build: .
depends_on:
- web_db
links:
- web_db:db
ports:
- "80:80"
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- web_db
links:
- web_db:mysql
ports:
- "8181:80"
environment:
PMA_HOST: mysql
Но '/ var/lib/mysql' это путь к Linux! – Hackerman
@Hackerman '/ var/lib/mysql' - это путь в контейнере Docker не на моей главной машине – Daniel