私はドッカーコンテナとして実行する必要があるカフカ接続ジャーを持っています。私は、後でローカルホスト(ドッキングエンジンが動作している)にプッシュできるコンテナ内のログファイル(すべてのディレクトリ/ファイル -/etc/kafka/kafka-connect-logs)にすべての接続ログをキャプチャする必要があります。ドッカーのボリューム。 connect-log4j.properties
を変更してログファイルに追加すると、ログファイルが作成されないことがわかります。私がドッカーなしで同じことを試して、ログファイルにログを書き込むようにconnect-log4j.properties
を変更してローカルのLinux VMでkafka接続を実行すると、完全には動作しますが、ドッカーからは動作しません。どんな提案も非常に役に立ちます。Kafka-connectはドッカーコンテナにログインします
Docker File
FROM confluent/platform
COPY Test.jar /usr/local/bin/
COPY kafka-connect-docker.sh /usr/local/bin/
COPY connect-distributed.properties /usr/local/bin/
COPY connect-log4j.properties /etc/kafka/connect-log4j.properties
RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-yq", "curl"]
RUN ["chown", "-R", "confluent:confluent", "/usr/local/bin/kafka-connect-docker.sh", "/usr/local/bin/connect-distributed.properties", "/usr/local/bin/Test.jar"]
RUN ["chmod", "+x", "/usr/local/bin/kafka-connect-docker.sh", "/usr/local/bin/connect-distributed.properties", "/usr/local/bin/Test.jar"]
RUN ["chown", "-R", "confluent:confluent", "/etc/kafka/connect-log4j.properties"]
RUN ["chmod", "777", "/usr/local/bin/kafka-connect-docker.sh", "/etc/kafka/connect-log4j.properties"]
EXPOSE 8083
CMD [ "/usr/local/bin/kafka-connect-docker.sh" ]
connect-log4j.properties
# Root logger option
log4j.rootLogger = INFO, FILE
# Direct log messages to stdout
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=/etc/kafka/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%
log4j.logger.org.apache.zookeeper=ERROR
log4j.logger.org.I0Itec.zkclient=ERROR
kafka-connect-docker.sh
#!/bin/bash
export CLASSPATH=/usr/local/bin/Test.jar
exec /usr/bin/connect-distributed /usr/local/bin/connect-distributed.properties
それは私がデフォルトconnect-log4j.properties
を使用していたときに(コンソールにログを追加)正常に動作しますが、作成することができませんドッカーのログファイル。また、ドッカーを使用しない同じプロセスは、ローカルVM内で正常に動作します(ログファイルを作成します)。議論の
ボリュームをすぐに宣言して、そのファイルを直接ボリュームフォルダに配置しようとしましたか?あなたのドッカーファイルのVOLUME/etc/kafkaのようなものを、そしてドッカーがこのボリュームのマッピングを実行していますか? – hecko84
ありがとうございます!これは助けてくれました:-) –
私は答えとしても結果を出しました、下記を参照してください – hecko84