Edge RouterでDNS host namesを登録する
わあ……2時間かけてようやく見つけた気がする…… ある程度開発を進めたところで、モバイルで動作するかテストする必要があった。\ Docker上で動いているバックエンドのLaravelとフロントエンドのNuxtでは、SSRの段階ではフロントエンドのDockerがapi.localhostドメインをDockerにリンクして
わあ……2時間かけてようやく見つけた気がする……
ある程度開発を進めたところで、モバイルで動作するかテストする必要があった。
Docker上で動いているバックエンドのLaravelとフロントエンドのNuxtでは、SSRの段階ではフロントエンドのDockerがapi.localhostドメインをDockerにリンクしていたため、問題なく接続できていたのだが、
問題は、SSRの段階ではなく、モバイルから接続できなかったことだった。
前回のアップデート以降、DockerはHostsに127.0.0.1 domainを入力しなくても、自動的に認識して接続するように変わったのだが、(Traefik)
モバイルではHostsを変更できなかった。(Androidなら可能らしいが、私はiPhoneユーザー)
それで……Windowsのコンピューターでホットスポットをオンにしてみたり、Wi-Fiに接続してみたりしたものの、解決しなかった……(一番可能性が高そうなのはWindowsのホットスポットだったが、うまくいかなかった。ネットワークドライブ自体が別に認識される(?)せいなのかは分からないが、Dockerに接続できなかった)
そうして……かれこれ3時間ほど経っただろうか……
ルーターでDNSを強制的に設定する方法で解決した……。
私はEdgeRouterを使っているのだが、ここでDNS host names configurationを使って解決した。

接続する必要のあるドメインを入力し、IP AddressにはDockerが動いているコンピューターのIPを入力した。
こうして、モバイル(Wi-Fi - EdgeRouter)に接続した状態で該当のDomainにアクセスすると、Dockerが起動しているIPである192.168.1.101に転送され、そこで該当のDomain宛てのリクエストをTraefikがキャッチして、正常にDockerサーバーへ接続してくれた。
