2017-10-26 25 views
0

안녕하세요. 방글라데시와 무언가를 사용하여 내 상자를 제공하려하지만 항상 /vagrant/ansible/playbook.yml이 없습니다. 그것은/vagrant 디렉토리를 찾고 있습니다. 내 상자 안에 ssh를 놓을 때/방미제가 존재하지 않는다. 무슨 일이 일어 났는지는 잘 모르겠지만, 내가 한 것은 내 로컬 복사본을 내 상자 안에있는 특정 폴더 위치로 동기화하는 것이 었습니다. 아래는 내가이 라인이 존재하지 않는/방랑 폴더에 찾고있는 것 같다 ansible.playbook = "ansible/playbook.yml"에서 오류를 받고 있어요Vagrant synced_folder/vagrant shared_folder missing

Vagrant.configure("2") do |config| 

    config.vm.define "ans", primary: true do |ans| 
     ans.vm.box = "ubuntu/xenial64" 
     ans.vm.network "forwarded_port", guest: 80, host: 8080 
     ans.vm.network "private_network", ip: "10.8.9.20", auto_network: true 
     ans.vm.synced_folder ".", "/var/www/" 
     ans.vm.hostname = "my_project" 
     ans.vm.provision "pre-build", type: "shell", :path => "ansible/bootstrap.sh" 
     ans.vm.provision "ansible_local" do |ansible| 
      ansible.playbook = "ansible/playbook.yml" 
     end 
    end 
end 

을 한 샘플 구현입니다. 이 문제를 해결하거나 해결할 수있는 방법은 무엇입니까? 내 플레이 북이이 위치에 있습니다. /var/www/ansible/playbook.yml 상자 내용

답변

0

기본적으로 방랑하는 사람은 현재 디렉토리의 /vagrant 폴더가있는 공유 폴더를 VM에 자동으로 추가합니다. 추가 한 때문에

ans.vm.synced_folder ".", "/var/www/" 

공유 폴더 /var/www/vagrant에서 대체되었습니다 현재 폴더는

할 당신이 정말로 필요 (당신은 쉽게 vagrantfile에서 선을 제거하여 확인할 수 있습니다) 현재의 전체 폴더를 /var/www으로 동기화하십시오. /var/www과 같이 공유 할 하위 디렉토리에 프로젝트 파일이있는 것이 가장 이상적입니다.

밀어 모든 HTML/html로 폴더 아래 CSSS/JS 파일 (프로젝트 또는 뭔가 다른 이름을 바꿀 주시기 바랍니다) 당신이 당신의 웹 서버의 폴더와 모든 방랑 스크립트 및 프로비저닝 스크립트를 동기화 할 필요가 있습니다.

+0

은 그래서 그게 내가 하위 폴더 안에 내 모든 작업 디렉토리를 이동해야 같은 상자에 존재/방랑는/var/www가을 의미? –

+0

없고 .. 미안 해요, 난 아마 분명하지 않다, 당신이 VM에 호스트 많은 공유 폴더를 가질 수 있지만이 동일한 호스트 폴더가 VM에서 다른 폴더를 가리키는 가질 수 없습니다. 그래서 당신은 기본'config.vm.synced_folder있을 것이다 ".", "/ 방랑"'그 주 모든 방랑과 합리적인 프로비저닝 스크립트 (+ 서브 디렉토리)와 하나의'config.vm.synced_folder "./project"로 현재 디렉토리 , "/ var/www"'프로젝트 폴더에는 웹 서버 디렉토리에 필요한 파일 만 포함됩니다. –

+0

나는 볼 수 있습니다. 다음은 내 Vagrantfile을 변경해 보겠습니다. 나는 이것이 내 문제를 해결할 것이라고 생각한다. 문제가 해결되면 답변을 수락합니다. 감사합니다 –