AnisimovAM
@AnisimovAM
Программист

Как правильно прописать права на запись в Vagrant и Docker?

Добрый день.

Запускаю на Mac OSX vagrant, в нем docker и там уже проект на symfony.

Как правильно задать права на запись?

Выполняю
Vargant up
Vagrant ssh
Cd /var/www/symfony
docker-compose exec php php app/console cache:clear

Выдает ошибку прав на запись кэша

Пробовал в mac osx ставить 777
Пробовал в убунте на vargant ставить 777
Пробовал в docker ставить и ничего не выходит

использую nfs
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
AnisimovAM
@AnisimovAM Автор вопроса
Программист
Проблема была в файловой системе APFS в Mac OSX High Sierra.
Решение:
1. Создать отдельный раздел на SSD в формате Mac OS Extended (журналируемый)
2. Никаких проблем с правами нет :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
olegbukatchuk
@olegbukatchuk
Full-Stack Web/DevOps
Приветствую.
1. NFS это не совсем правильный путь при использовании Vagrant'a.
2. Лучше всего использовать директиву machine.vm.synced_folder для примера привожу рабочий конфиг для Vagrant'a.

p.s.
  • hostname_your_virtual_machine - заменить на ваше имя виртуальной машины.
  • 192.168.10.10 - заменить на ip-адрес который вы хотите видеть на виртуальной машине.
  • /Users/user/mount_folder_name - заменить на абсолютный путь к директории которую вы мотируете в виртуальную машину из macOS.

nodes = {
  "hostname_your_virtual_machine" => "192.168.10.10"
}

Vagrant.configure("2") do |config|
  config.vm.box = "debian/stretch64"
  config.vm.box_url = "debian/stretch64"
  nodes.each do |name, ip|
    config.vm.define name do |machine|
      machine.vm.synced_folder "/Users/user/mount_folder_name", "/var/www/symfony"
      machine.vm.hostname = "%s" % name
      machine.vm.network :private_network, ip: ip
      machine.vm.provider "virtualbox" do |v|
        v.customize ["modifyvm", :id, "--memory", 2048]
        v.customize ["modifyvm", :id, "--cpus", 2]
      end
    end
  end
end
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы