efkbook / blog-sample

a kind of blog implementation written in Go integrated with fluentd and Elasticsearch
MIT License
58 stars 27 forks source link

第3章のサンプルレポジトリでdocker-compose up -d するとエラーになる。 #33

Closed masalennon closed 4 years ago

masalennon commented 4 years ago
Step 5/7 : RUN /usr/sbin/td-agent-gem install fluent-plugin-elasticsearch fluent-plugin-record-reformer
 ---> Running in c9d5af60a291
Building native extensions.  This could take a while...
Successfully installed msgpack-1.3.3
Successfully installed serverengine-2.2.1
Building native extensions.  This could take a while...
ERROR:  Error installing fluent-plugin-elasticsearch:
    fluentd requires Ruby version >= 2.4.
Successfully installed strptime-0.2.3
Successfully installed fluent-plugin-record-reformer-0.9.1
Parsing documentation for fluent-plugin-record-reformer-0.9.1
Installing ri documentation for fluent-plugin-record-reformer-0.9.1
Done installing documentation for fluent-plugin-record-reformer after 0 seconds
1 gem installed
ERROR: Service 'fluentd' failed to build: The command '/bin/sh -c /usr/sbin/td-agent-gem install fluent-plugin-elasticsearch fluent-plugin-record-reformer' returned a non-zero code: 1
masalennon commented 4 years ago
❯ ruby -v
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin19]
                                                                                                                                                                                                                                                                                                                    2020-05-24 22:43:43
mida-hub commented 4 years ago

@masalennon

僕も同じエラーに遭遇しました。

ERROR: Error installing fluent-plugin-elasticsearch: fluentd requires Ruby version >= 2.4.

ログにある通り fluent-plugin-elasticsearch でこけています。 調べたところ

https://github.com/uken/fluent-plugin-elasticsearch/issues/696

fluent-plugin-elasticsearch の最新バージョンだと、 td-agent2ではうまくインストールできない(という感じだと思いました)。

Dockerfileを下記の通り修正して

# RUN curl -L https://toolbelt.treasuredata.com/sh/install-debian-jessie-td-agent2.sh | sh
RUN curl -L https://toolbelt.treasuredata.com/sh/install-debian-jessie-td-agent3.sh | sh

docker-compose up -d

を実行するとエラーが出なくなりました。

ただ、P31ページにバージョン情報があるので、 Dockerfileの各アプリケーションのバージョンを指定した修正のほうが良いと思います。