Docker 資料一覧
DockerのUbuntuコンテナ上にsyslogを導入する手順
2019/12/13更新
対応バージョン: Docker 18.09.7
Dockerで使用するUbuntuイメージ(18.04)には最低限のパッケージしか同梱されていないので、syslogを使いたい場合は以下の手順で別途インストールする。Dockerfileとrsyslogデーモンを起動するスクリプトを用意
Dockerfile
FROM ubuntu:18.04 RUN apt-get update && \ apt-get install -y rsyslog COPY startup.sh /startup.sh RUN chmod 744 /startup.sh CMD ["/startup.sh"]
startup.sh
#!/usr/bin/env bash service rsyslog start
Dockerイメージビルド & 実行
ビルド
$ docker image build -t test .
実行
$ docker run --privileged test
--privilegedはコンテナ内の全てのデバイスへのアクセスを可能にするオプションであるが、これを付けないとdocker run時に以下の権限エラーになり、rsyslogデーモンが起動できない。
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted. rsyslogd: activation of module imklog failed [v8.32.0 try http://www.rsyslog.com/e/2145 ]
参考サイト
Docker公式ドキュメント (英語)
Docker情報 (Qiita)