私はアプリケーションを実行している唯一のドッカーコンテナを超えて行きたいDocker Windows Containersでの作業動作しない名前でWindowsのContainer'sアドレスを解決します。見出し「ドッカー構成し、サービスの検出」下Microsoft docsで説明したように:ドッカーに組み込まれドッカーDNSは一貫
は、IP(DNS)のコンテナとサービスのマッピングへのサービス 登録と名前を扱うサービス発見、です。 サービス発見では、すべてのコンテナのエンドポイントが に名前(コンテナ名またはサービス名)で互いに発見できる可能性があります。そこに名前で
そしてdocker-composeがit'sのYAMLファイルであなたdefine servicesすることができますので、これらが検出可能でなければなりません(例えばping可能)(difference between services and containers in docker-composeを思い出させるようにしてください)。このblog post by Microsoftは、web
とdb
というサービスの完全な例を提供しています。フルソースには、必要な場合はdocker-compose.yml in the GitHub repoが含まれています。
私の問題は、次のとおりです。ドッカー窓コンテナのみ、時にはお互いを「見つける」か、時には全く。私はdocker inspect <container-id>
でそれらをチェックし、別名db
とweb
が存在します。しかし、私は一つの容器(例えばdocker exec -it myapps_web_1 powershell
を介して1つのWebコンテナ内)にPowerShellとたまにしかping db
この作品だけをしようとするとき。
そして(ドキュメントではない私見ので)私はここで明確にしましょう:この問題は、ドッキングウィンドウ、作曲以外のシナリオでも同じです。 example app without composeを構築すると、問題はdocker-composeサービスなしでも表示されますが、単純な古いコンテナ名になります。
その奇妙な行動上の任意のアイデア?私にとってこのシナリオは、より多くのアプリが利用されるにつれて悪化します。詳細は、https://github.com/jonashackt/spring-cloud-netflix-dockerをご覧ください。ここでは、Spring Boot & Spring Cloud Eureka/Zuulと4つのドッカー作成サービスのサンプルプロジェクトがあります。天気予報と天気予報秒は簡単にスケーラブルです。 via docker compose scale weatherbackend=3
私のWindows Vagrant boxは、packer.ioでビルドされ、最新のWindows Server 2016 Evalutation ISOに基づいています。必要なWindowsの機能とドッカー/ドッカーの作成のインストールis done with Ansible。この問題の修正を持たない
は、ドッカーWindowsのコンテナは、お客様に私たちのために主に使用できなくなります。
これは私の問題を解決しません。私はすでにそのレジストリ値が設定されている最新のWindowsサーバーコンテナを実行していますが、変更後にDNSが間違ったIPに解決されることがあります。他の解決策はありますか? –
セットアップについての詳細を教えてください。 Docker Composeを使用しますか? 「ドッカー検査コンテナID」の出力は何ですか?私は私のブログ投稿の完全な例を完成させましたhttps://blog.codecentric.de/en/2017/05/ansible-docker-windows-containers-scaling-spring-cloud-netflix-docker-compose/ここに:https ://github.com/jonashackt/ansible-windows-docker-springboot - あなたのエラーを示すサンプルプロジェクトをセットアップするのにも役立つかもしれませんか? – jonashackt
これは私の家庭用PC(Win 10)の問題を解決しましたが、仕事用ラップトップはエイリアスによってサービスを解決しません。 instanceIDで取得できます。私は自分のラップトップがどのように構成されているかを推測しています。誰もが、問題がドッカーではなく私のPCである可能性が高いので、どこから始めればいいか分かりません。 –