2018年7月5日木曜日

DockerでCrontab UIをインストールしたコンテナを作成する

Crontab UIでWebブラウザからcrontabを編集・管理を行うことができます。

〇Crontab UIの画面

ブラウザからhttp://<Dockerホスト名またはIP>:9000/にアクセスします。

○構築方法
以下の手順で、Crontab UIのコンテナを構築・実行します。

1. Crontab UIイメージの作成(Dockerfileがあるフォルダで実行)
docker build -t crontabui .
Dockerfile
FROM node:8-alpine

RUN mkdir /crontabui \
  && touch /etc/crontabs/root \
  && chmod +x /etc/crontabs/root

WORKDIR /crontabui

RUN apk --no-cache --update add tzdata supervisor \
  && npm install -g crontab-ui \
  && echo $'[supervisord] \n\
nodaemon=true \n\
\n\
[program:crontab] \n\
command=crond -l 2 -f -c /etc/crontabs \n\
stderr_logfile = /var/log/crontab-stderr.log \n\
stdout_logfile = /var/log/crontab-stdout.log \n\
\n\
[program:crontabui] \n\
command=crontab-ui \n\
stderr_logfile = /var/log/crontabui-stderr.log \n\
stdout_logfile = /var/log/crontabui-stdout.log \n\
' >> /etc/supervisord.conf

ENV TZ=Asia/Tokyo \
  HOST=0.0.0.0 \
  PORT=9000

EXPOSE 9000
VOLUME /etc/crontabs
VOLUME /opt

CMD ["supervisord", "-c", "/etc/supervisord.conf"]

2. コンテナの構築・実行(docker-compose.ymlがあるフォルダで実行)
docker-compose up -d
docker-compose.yml
version: "2"
services:
  crontabui:
    image: crontabui
    container_name: "crontabui"
    volumes:
      - "crontabui-config:/etc/crontabs"
      - "crontabui-data:/opt"
    ports:
      - "9000:9000"
volumes:
  crontabui-config:
    driver: local
  crontabui-data:
    driver: local


○関連情報
・Crontab UIに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿