cron docker service

This commit is contained in:
2018-01-20 11:12:02 -05:00
parent bc08842d57
commit 547aea8ef6
5 changed files with 60 additions and 8 deletions

View File

@@ -1,10 +1,30 @@
FROM alpine:latest
MAINTAINER Richard Morgan
USER root
ENV DOCKER_VERSION=17.09.0-ce
ENV DOCKER_MACHINE_VERSION=v0.13.0
COPY ./periodic /etc/periodic
COPY ./crontab /var/spool/cron/crontabs/root
RUN chmod +x -R /etc/periodic/
RUN apk add --update \
gpgme \
curl \
py-pip && \
pip install --upgrade pip && \
curl -L -o /tmp/docker-${DOCKER_VERSION}.tgz https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz && tar -xz -C /tmp -f /tmp/docker-${DOCKER_VERSION}.tgz && mv /tmp/docker/docker /usr/local/bin && \
chmod +x /usr/local/bin/docker && \
pip install docker-compose docker-cloud && \
curl -L https://github.com/docker/machine/releases/download/${DOCKER_MACHINE_VERSION}/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine && \
# Cleanup
rm -rf /var/cache/apk/* && rm -rf /tmp/* && rm -rf /var/log/*
COPY ./periodic /etc/periodic/15min
# Run the command on container startup
#CMD cron && tail -f /var/log/cron.log
#CMD tail -f /var/log/cron.log
CMD crond -l 2 -f
ENTRYPOINT crond -d 2 -f

View File

@@ -0,0 +1,8 @@
# do daily/weekly/monthly maintenance
# min hour day month weekday command
* * * * * run-parts /etc/periodic/1min
*/15 * * * * run-parts /etc/periodic/15min
0 * * * * run-parts /etc/periodic/hourly
0 2 * * * run-parts /etc/periodic/daily
0 3 * * 6 run-parts /etc/periodic/weekly
0 5 1 * * run-parts /etc/periodic/monthly

View File

@@ -4,6 +4,10 @@
# docker-compose build && docker push dkregistry.xai-corp.net:5000/cron:latest
# DOCKER_HOST=dkhost:2376 docker stack deploy -c docker-compose.yml services
# DOCKER_HOST=dkhost:2376 docker-compose up -d
# DOCKER_HOST=dkhost:2376 docker-compose exec -it cron_cron_1 /bin/sh
version: '3'
services:
@@ -13,6 +17,9 @@ services:
context: ""
dockerfile: Dockerfile
volumes:
- /var/run/docker.sock:/var/run/docker.sock
deploy:
mode: replicated
@@ -26,12 +33,6 @@ services:
cpus: '0.5'
memory: 256M
logging:
driver: syslog
options:
syslog-address: "tcp+tls://logs6.papertrailapp.com:38577"
tag: "{{.Name}}/{{.ID}}"
#networks:
# default:
# external:

View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# dkregistry.xai-corp.net:5000/xaicorp/abc-api/api:dev
#docker run -d --name abcapi_scheduler \
# -v /opt/shared/abcapi/storage/app:/opt/project/storage/app \
# -e "APP_ENV: prod" \
# -e "APP_DEBUG: 'false'" \
# -e "APP_KEY: c578846e0a7fe6996d8cb259d375aaa0" \
# -e "APP_TIMEZONE: UTC" \
# -e "DB_CONNECTION: pgsqld"b \
# -e "DB_HOST: services_postgres" \
# -e "DB_PORT: 5432" \
# -e "DB_DATABASE: abcapi_api" \
# -e "DB_USERNAME: abcapi" \
# -e "DB_PASSWORD: 'JAIobu3i18bC#2n2$$'" \
# -e "CACHE_DRIVER: redis" \
# -e "QUEUE_DRIVER: sync" \
# dkregistry.xai-corp.net:5000/xaicorp/abc-api/api:latest \
# php artisan schedule:run

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Hello minute" >> /var/log/cron.log 2>&1