Я нахожусь на своем конце с этим, так что, надеюсь, вы, люди, можете мне помочь. В OSX 10.11.2 с док-машиной у меня есть файл, содержащий докеры, который должен создать локальный файл Docker и прикрепить к нему контейнер MySQL. Контейнер MySQL должен монтировать локальную папку, где я храню данные моей базы данных, поэтому, если контейнер или виртуальная машина опускаются, я могу просто перезапустить его без потери данных. Проблема заключается в том, когда я запускаю его, он выдает ошибку разрешений:Разрешение отклонено при установке Объем докеры в OSX
db_1 | 2015-12-23 19:17:59 7facaa89b740 InnoDB: Operating system error number 13 in a file operation.
db_1 | InnoDB: The error means mysqld does not have the access rights to
db_1 | InnoDB: the directory.
Я попробовал каждую перестановку я могу думать, чтобы получить эту работу. Я читал, и это может быть связано с тем, как docker-machine обрабатывает разрешения с OSX, но в документации для док-машины говорится, что она монтирует папку /Users
, поэтому это не должно быть проблемой.
Вот что docker-compose.yml
:
web:
build: .
ports:
- "3000:3000"
links:
- db
db:
image: mysql:5.6
ports:
- "3306:3306"
volumes:
- /Users/me/Development/mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: mypass
Любые идеи? Я не могу не думать, что это действительно просто. Любая помощь была бы очень признательна!
Edit:
- Host -
drwxr-xr-x 7 me staff 238 Dec 23 12:10 mysql-data/
- VM -
drwxr-xr-x 1 docker staff 238 Dec 23 20:10 mysql-data/
Как контейнер, он не будет работать с объемом установлен. Без -v
горы, это:
- Контейнер -
drwxr-xr-x 4 mysql mysql 4096 Dec 24 00:37 mysql
Вывод 'ls -lh' для каталога данных во всех трех местах (host, vm, container) был бы полезен для отладки.Я думаю, что, скорее всего, происходит то, что каталог принадлежит root, и не позволяет пользователю mysql создавать новые файлы. – dnephin
@dnephin, я обновил вопрос выше с данными. Это помогает? – greggilbert