LoginSignup
8
14

More than 5 years have passed since last update.

FluentdをDocker Composeで立ち上げてみる

Last updated at Posted at 2018-04-09

はじめに

ちょっと Fluentd を使いたい用事ができたのでさくっとセットアップしようと思った。普通にセットアップするは面倒だったのでDocker Hubにあるイメージ から立ち上げようと思った。それならばあとで他のコンテナも使うかもしれないからDocker Composeで立ち上げれるようにしたら便利やん。と思っていい感じの docker-compose.yml が書いてないか探したけどいまいち見つからない。

なので書いてみた。やったあとであんまり目的に会ってない気がしたが、せっかくなのでメモを残しておく。

docker-compose.yml

docker-compose.yml
version: "2"

services:
  fluentd:
    image: fluent/fluentd:latest
    ports:
      - "24224:24224"
    environment:
      - 'FLUENTD_CONF=fluentd.conf'
    volumes:
      - ./tmp/fluentd:/fluentd/log
      - ./etc:/fluentd/etc

とりあえず fluentd.conf は任意のものに変更したいので FLUENTD_CONF で起動時にローカルのものをコピーするようにする。

ディレクトリ構成

etcディレクトリにfluentd.conf を配置。 tmp にfluentdのログのボリュームが置かれるようにする。

tree .
.
├── docker-compose.yml
├── etc
│   └── fluentd.conf
└── tmp
    └── empty

起動する

docker-compose up -d

Creating network "fluentddockercompose_default" with the default driver
Pulling fluentd (fluent/fluentd:latest)...

(中略)

Status: Downloaded newer image for fluent/fluentd:latest
Creating fluentddockercompose_fluentd_1 ... done

接続してみる

docker exec -it fluentddockercompose_fluentd_1 /bin/sh
/ # ls
bin      fluentd  media    root     srv      usr
dev      home     mnt      run      sys      var
etc      lib      proc     sbin     tmp

fluentd.confをみてみる

# vi fluentd/etc/fluentd.conf

ローカルに配置したものになっていれば成功

まとめ

やったあとで気づいたがこういうのは最近はKubernetesでやるんだろうか。なのでDocker Composeでの設定が見つからなかったのか? 記述が簡単で手軽なのでDocker Composeは好きなんだけど。しかしまあ、ちゃんとシステム開発して運用のスケーラビリティを視野に入れたら最初からk8sでやっといたほうがいいんだろうなあ。今度からそうしよう。

8
14
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
8
14