2017-01-11 6 views
0

ASP.NET Core 1.1 Web APIをDockerコンテナで実行しようとしていますが、ブラウザまたはcurlからWeb APIに接続できません。トラブルシューティングのために、標準のnginxとApacheのhttpdコンテナも持ってきて、これらに接続できないので、これは私のアプリケーションの問題ではなく、Docker/Docker Toolbox /設定の問題だと思います。Docker Toolboxでホストされているコンテナにどのように接続すればよいですか?

私はnginxのとApacheでやっていることに焦点を当てます:私は、Windows 7 Professionalでドッカーツールボックスを実行しています

、すべては私が期待するように動作するようです。

  • 予想通り

    • ドッカーは、すべての作業をコマンド私は、基盤となるWindowsのファイルシステム
    • にアクセスすることができます(私は、Windows 7上の既定のIIS Webサイトを開始した場合)私はcurl http://localhostから
    を期待どおりの結果を得ることができます

    は、だから今、私はIISをシャットダウンし、コンテナ内のnginxを実行します。今

    $ docker run -d -p 80:80 nginx 
    45bb1f373c11b820d8431de3eb3bf222d57d412de53e8625f461b62c4279e644 
    

    ドッカー笙WSが実行されているnginxの:

    $ docker ps 
    CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS       NAMES 
    45bb1f373c11  nginx    "nginx -g 'daemon off" 47 seconds ago  Up 48 seconds  0.0.0.0:80->80/tcp, 443/tcp admiring_pike 
    

    をしかし、私はcurl(ドッカーツールボックスのコマンドプロンプト内)またはWindowsでのWebブラウザのいずれかに接続することはできません。

    $ curl http://localhost 
    curl: (7) Failed to connect to localhost port 80: Connection refused 
    

    私が実行した場合、私はまったく同じ結果を得ますApache 2.4(httpd)コンテナ

    アイデア?ありがとう! Peter

  • 答えて

    1

    私は別の質問hereで答えを見つけました。

    Docker Toolboxは軽量Linux VM上で動作しているため、独自のIPアドレスを持っています。 をVMにマップするには、DOCKER_HOSTを使用して、そのVMのIPアドレスを使用してVMにアクセスします。

    関連する問題