2017-09-03 7 views
0

私はLaravelのプロジェクトを持っていると私は、次のを持っている(ドッカー作曲を使用して)ドッカー環境を作っ:別々のコードベースにOSX上で複数のドッカーコンテナを実行

  • アプリ(PHP-FPMとnginxの) - が公開彼らはすべてのmy-net

    と呼ばれるネットワーク上でリンクされている3006
  • Redisの

: - ポート80:80

  • MySQLはポート3306を公開します3210

    今、ReactJSの管理パネルであるadminと呼ばれる別個のgithubレポもあります。 ReactJSプロジェクトはLaravelプロジェクトをバックエンドとして使用します(管理ネームスペースのルートを使用します)

    このプロジェクトでは、Dockerfileもセットアップしたいと思いますが、Laravelプロジェクトのネットワークにアクセスしたいと考えています(my-net )。これはどのように達成されますか?明らかに、adminプロジェクトのDockerfileは存在しないため、my-netを参照できません。私は単に "一般公開"経由でリクエストをルーティングし、localhost:80/admin/x/y/zを打つべきでしょうか?または、これを達成するための内部ネットワークの方法がありますか?

  • 答えて

    1

    localhostは間違っているため(ドッキング・コンテナのローカル・ホストはホストのアドレスではなくコンテナのアドレス)、ヒットできません。

    つまり、標準のドッカーコンテナで作成したネットワークを使用することができます。あなたが見逃しているのは、ネットワークがmy-netと思われますが、<folder name>-my-netのようなものではありません。<folder name>は、docker-compose.ymlファイルがあるフォルダです。

    使用するネットワークの正しい名前を確認するには、docker network lsを実行します。

    別の方法として、あなたはdocker network create mynetとのネットワークを手動で作成することができますし、ドッキングウィンドウ-compose.ymlファイルに外部として宣言:私のlaravelプロジェクトのために80:

    services: 
        srvc: 
        ... 
        networks: 
        - mynet 
        ... 
    networks: 
        mynet: 
        external: 
         name: mynet 
    
    +0

    HM、私はローカルホストを打ってきましたちょうど良い。それは私が上記のようにポート80を公開しているからです。 – djt

    +0

    別のコンテナまたはホストから入手しましたか?ブラウザから – whites11

    +0

    いいえ。 – djt

    関連する問題