LoginSignup
1
2

More than 5 years have passed since last update.

Vagrant + docker-symfony でホスト OS のブラウザからアプリケーションにアクセスする

Posted at

背景

  • 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. ホスト OS の hosts に symfony.localhost を追加する

  • 個人的にはここが盲点だった
  • docker-symfony を使う場合は hosts に symfony.localhost を追加する必要がある
    • …が、てっきり ゲスト OS の hosts だけに追加すればよいのだと勘違いしていた
    • 実際は ホスト OS (Windows なり Mac なり Linux なり) の hosts に追加が必要
  • Windows XP 以降であれば C:\Windows\System32\drivers\etc に hosts があるので以下を追加
hosts
127.0.0.1 symfony.localhost

3. ホスト OS のブラウザからアクセスする

  • URL は http://symfony.localhost:8000/
    • ポートは適宜変えること
  • Welcome! image.png
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2