3

現在、docker-compose を使用して一連のマイクロサービスをセットアップしており、これを一般的なエラー ログ サービス (compose の外部で作成) にリンクしたいと考えています。

Compose の外部で errorHandling サービスを作成しています。

docker run -d --name errorHandler

次に、作成 (要約) を実行します。

version: '2'
services:
  my-service:
    build: ../my-service
    external_links:
      - errorHandler

アプリケーション内でホスト名エイリアス ('errorHandler') を使用していますが、接続できないようです。構成ネットワーク内でサービスが検出されたかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

6

リンクではなく、共有 Docker ネットワークを使用します。docker network create errorNetや などを使用して、Docker のネットワーク上に「errorHandler」コンテナーを配置しますdocker network connect errorNet errorHandler。次に、「my-service」の構成ファイルでそのネットワークを次のように定義します。

version: '2'
networks:
  errorNet:
    external: true

services:
  my-service:
    build: ../my-service
    networks:
     - errorNet

これは、docker の内部 DNS を使用してコンテナーを相互に接続します。

于 2016-10-30T21:07:10.247 に答える