Я бегу Docker контейнер с Laravel 5 и я PostgreSQL на моей машине.Laravel Docker не может выполнить PostgreSQL pg_restore
Все работает отлично, за исключением того, что у меня есть waaaay для многих данных на моей БД, и это сделало посев занятием около 1 часа. Обходной путь, который я придумал, заключается в том, чтобы восстановить резервный файл (только данные), который засеял бы базу данных для меня примерно через 5 мин.
Awesome! Но ...
Laravel работает внутри контейнера Докер, и PostgreSQL не является, поэтому, когда Laravel делает
$cmd = "pg_restore -v -U pgadmin -d $database $path";
exec($cmd);
Я получаю сообщение об ошибке, что нет pg_restore выполнить.
sh: 1: pg_restore: not found
Итак, наконец, мой вопрос: Как я могу сделать Laravel, чтобы быть в состоянии выполнить pg_restore?
Обс: он работает, когда также работает Laravel на машине, но мне действительно нужно решить его с помощью Laravel на докере и postgres снаружи.
Заранее благодарен!
UPDATE:
Я Editted в Докер-compose.yml и добавил следующую строку в разделе объемов
./usr/bin/pg_restore:/usr/bin/pg_restore
Теперь ошибка просто
sh: 1: pg_restore: Permission denied
Это означает, теперь он «видит» команду pg_restore, но не имеет прав на ее выполнение, поскольку он работает внутри контейнера докеров ... как я могу решить эту проблему?
Вот что я имел в виду;) – user2105103