Vagrant + docker-symfony로 호스트 OS 브라우저에서 애플리케이션에 액세스

배경


  • Symfony를 Vagrant + Docker로 이동하고 싶기 때문에 Docker 이미지의 docker-symfony을 사용했습니다
  • 컨테이너가 시작될 때까지 가능하지만 작동 확인을 위해 호스트 OS에서 PHP 응용 프로그램에 액세스 할 수 없습니다.
  • nginx의 "404 Not Found"가 나온다


  • 해결 방법



    1. Vagrantfile에 포트 포워드 설정하기


  • 기본적인 곳이지만 다시 설정 확인
  • 다음과 같은 설명이 있으면 OK (필자는 8000 -> 8000으로 설정되어 있음)

  • Vagrantfile
      config.vm.network "forwarded_port", guest: 8000, host: 8000
    
  • 이미 VM을 시작한 경우 vagrant reload 반영하십시오
  • .

    비고


  • 앞으로 가는 포트는 docker-compose.ymlports와 추첨을 맞추어 두는 것

  • docker-compose.yml
        nginx:
            build: ./nginx
            ports:
                - "8000:80"
        :
    

    2. 호스트 운영 체제의 호스트에 symfony.localhost 추가


  • 개인적으로는 여기가 맹점이었다
  • docker-symfony를 사용하는 경우 hosts에 symfony.localhost를 추가해야합니다.
  • …하지만 확실히 게스트 OS의 hosts에만 추가하면 좋다고 착각했다
  • 실제로 호스트 OS (Windows, Mac, Linux)의 호스트에 추가 필요

  • Windows XP 이상이라면 C:\Windows\System32\drivers\etc에 hosts가 있으므로 다음 추가

  • hosts
    127.0.0.1 symfony.localhost
    

    3. 호스트 OS 브라우저에서 액세스


  • URL은 http://symfony.localhost:8000/
  • 포트를 적절하게 변경

  • Welcome!

  • 좋은 웹페이지 즐겨찾기