この前書いた以下の記事
がやたらと人気なのですが,ちょっと使ってるdoker-composeが怪しい(buildが不明になっている)やつだったので正しく入れ直し,ついでにdocker-compose.ymlを書き直します.
前に書いたもの
minecraft: image: iztg/minecraft container_name: mc_server ports: - "25565:25565" volumes_from: - data-minecraft environment: EULA: "TRUE" VERSION: "1.10" links: - fluentd log_driver: fluentd log_opt: fluentd-address: localhost:24224 fluentd-tag: minecraft.raw data-minecraft: image: busybox container_name: data-minecraft volumes: - /data fluentd: container_name: fluentd build: fluentd/ ports: - "24224:24224" volumes: - ./fluentd/:/fluentd/etc/ - ./fluentd/plugins:/fluentd/plugins environment: FLUENTD_CONF: fluent.conf
以上がこの前の記事で書いたdocker-compose.ymlの中身ですが,書き方が古く,もしかしたら今後使えなくなる可能性が高いです.
バージョン2に書き直す
まずversion2ではいくつかのセクションに別れた記述をします.
# バージョンの宣言 version: '2' #具体的なアプリケーションの記述 services: web: image: hoge networks: - my_net db: image: fuga networks: - my_net # ネットワークの記述 networks: my_net: driver: bridge
これに従って記述していきます.
log_driverはloggingに
2ではlog_optやlog_driverは消去されています.代わりに以下のようなloggingを用います.
logging: driver: "syslog" options: syslog-address: "hoge"
fluentdドライバーを使用するときは以下のようになります.
logging: driver: "fluentd" options: fluentd-address: localhost:24224 tag: hoge.fuga
僕の環境ではlocalhostの代わりにminecraftコンテナでlinkオプションにfluentdを記述し,fluentdにおいてexposeで24224を解放,エイリアスでホスト名を解決させようとしましたが,なぜか上手くいっていないのでおとなしくportsでホストのポートを使っています.
リファレンス:
Compose ファイル・リファレンス — Docker-docs-ja 1.12.RC ドキュメント
Fluentd ロギング・ドライバ — Docker-docs-ja 1.9.0b ドキュメント
完成
logging周り以外はほとんど変わっていないのでserviceセクションに入れておくだけです.
version: '2' services: fluentd: container_name: fluentd build: fluentd/ ports: - "24224:24224" volumes: - ./fluentd/:/fluentd/etc/ - ./fluentd/plugins:/fluentd/plugins environment: FLUENTD_CONF: fluent.conf minecraft: container_name: mc_server build: minecraft/ links: - fluentd ports: - "25565:25565" logging: driver: fluentd options: fluentd-address: localhost:24224 tag: minecraft.raw volumes_from: - data-minecraft environment: EULA: 'TRUE' VERSION: '1.10.2' OPS: "_pudding_1" ENABLE_QUERY: 'true' ENABLE_COMMAND_BLOCK: 'true' data-minecraft: image: busybox volumes: - /data container_name: data-minecraft