1. ホーム
  2. Java

Docker Deployment Kafka Consumerカフカコンシューマの構築に失敗しました。

2022-03-17 09:19:49
<パス

javaプロジェクト(Kafkaコンシューマー)のDockerデプロイで、以下のエラーメッセージが報告されます。

カフカコンシューマーの構築に失敗しました

bootstrap.serversに解決可能なブートストラップURLが指定されていません。

という警告メッセージが途中で表示されます。

cdh1.tw9.comのDNSresolutionが失敗したので、bootstrap.serversからサーバcdh1.tw9.com:9092を削除する。

アイデアスタートやjarパッケージは、ネイティブなものを使ってプロジェクトを起動するため /etc/hosts の設定パース(これがうまくいかないと、チキンレースもできない)をエラーメッセージなしで行うことができます。



しかし、dockerのデプロイメントでは、コンテナ内部の /etc/hosts が設定されていないため、dns はドメインアドレスの解決にエラーを報告します。

解決方法 コンテナ内の /etc/hosts の設定を変更するか、ホストの /etc/hosts データを共有する。

解決策

1: コンテナに直接入って、その中の /etc/hosts コンテナを再起動すると、追加した内容は失われます。

<ブロッククオート

2: 画像を作るときに直接修正する。この方法では、あなたがルートユーザーであることが必要です。 /etc/hosts ファイルは、一般ユーザはアクセスできません。そのため、コンテナにsudoをインストールする必要もあり、イメージのサイズが大きくなってしまうので、あまりお勧めできません。

<ブロッククオート

3つ目 docker run で新しいコンテナを実行する際、コンテナの /etc/hosts ファイルに -add-host パラメータでドメインと IP 情報を追加します。



docker run --add-host=cdh1.tw9.com:192.168.9.1 --name server -d service-image

<ブロッククオート

IV: docker-composeを使用すると docker-compose.yml ファイルを設定することで、パラメータ extra_hosts を実現する。例えば

extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"


コンテナに入って、/etc/hosts を見て、適切な設定を確認します。

<ブロッククオート

V: 共有ホスト /etc/hosts :



ホストのhostsファイルをコンテナで共有する(究極の解決策)

参考にしてください。



docker コンテナの hosts ファイルを修正する方法



Docker Compose設定ファイルの詳細



ホストのhostsファイルをコンテナで共有する(究極の解決策)