Linux
初心者
docker

Docker | docker で logrotate コマンドを実行する

(あまりDocker関係ないけど備忘を兼ねて)

用意するファイル

Dockerfile

Dockerfile
FROM ubuntu

RUN apt-get update
RUN apt-get install -y vim logrotate

COPY logrotate_conf logrotate_conf
COPY some.log /root/some.log

CMD logrotate -f logrotate_conf && ls ~/

ローテーションの設定ファイル

logrotate_conf
~/some.log {
        daily
        missingok
        rotate 52
        dateext
        compress
        create 644 root root
}

ログファイル

some.log
A
B
C

Dockerを実行

イメージをビルド

$ docker build . -t logrotate

コンテナを実行

$docker run logrogate
some.log
some.log-20171002.gz

コンテナに入って試す場合

$ docker run -it logrotate /bin/bash

環境

  • Docker version 17.06.1-ce, build 874a737