LoginSignup
7
6

More than 5 years have passed since last update.

DockerHub上のFluentd Official Imageを使ってとにかくコンテナを作って動かしてみたい人のためのメモ

Posted at

0. 前書き

タイトルの通りです。
DockerHub上のfluent/fluentdの通りですが、メモとして。
https://hub.docker.com/r/fluent/fluentd/

以降ではDockerのホストを動かす環境を”ホスト”と記述しています。
また、確認のため、ホスト側でfluent-catコマンドを使います。
入っていない場合は入れときましょう。

1. ホストでDockerを導入

これはご利用の環境にあわせてDocker公式の通りに。
https://docs.docker.com/installation/

2. ホスト上の/dataフォルダへの権限付与

/dataフォルダをコンテナ内にマッピングし、fluentdの書き込み先とするため、書き込めるようにしときます。とりえあず777。

$ sudo mkdir /data
$ sudo chmod 777 /data

3. どーん

ホスト上でdocker run します。

$ sudo docker run -d -p 24224:24224 -v /data:/fluentd/log fluent/fluentd

起動しているか確認しときましょう。

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
57e6c6b5a2f4        fluent/fluentd      "/bin/sh -c 'exec flu"   13 seconds ago      Up 11 seconds       0.0.0.0:24224->24224/tcp   distracted_hoover

いいですね。

で、実際の動作。
デフォルトのfluent.confでは、docker.*以外のタグのついたデータは、ホスト上の/dataディレクトリにdata.日付.モニョモニョ.logとして記録されます。

実際データを投げつけて確認してみましょう。
前書きのとおり、ホストにfluentdが導入されている前提ですので、fluent-catを使います。
データを投げつける前は/dataには何もないはずです。

$ ls /data
$ echo '{"subject":"hello"}' | fluent-cat test
$ ls /data
data.20151029.b52338685a663e9e7.log  data.log
$ cat /data/data.20151029.b52338685a663e9e7.log
20151029T062739+0000    test    {"subject":"hello"}

いいですね!

4. その他

ふーんと思ったところで、オリジナルのfluent.confを使いたいとか、fluentdの起動オプションの指定とか、ディレクトリのマップを変えたいとか、ポートを変えたいとかなったら、改めて公式読めばいいんじゃないでしょうか。
https://hub.docker.com/r/fluent/fluentd/

おしまい。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6