From 5dbc529445acf571af51fea35b367f503bff15a0 Mon Sep 17 00:00:00 2001 From: dcore94 Date: Thu, 28 Jul 2022 18:02:21 +0200 Subject: [PATCH] updated docker build instructions --- build-d4science.sh | 10 ++++++++++ docker/d4science/Dockerfile | 8 ++++++++ docker/d4science/config.cfg | 9 +++++++++ docker/d4science/entrypoint.sh | 14 ++++++++++++++ docker/d4science/requirements.txt | 2 ++ 5 files changed, 43 insertions(+) create mode 100755 build-d4science.sh create mode 100644 docker/d4science/Dockerfile create mode 100644 docker/d4science/config.cfg create mode 100755 docker/d4science/entrypoint.sh create mode 100644 docker/d4science/requirements.txt diff --git a/build-d4science.sh b/build-d4science.sh new file mode 100755 index 0000000..1bf0cf8 --- /dev/null +++ b/build-d4science.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +if [ $# -eq 0 ] + then + tag='latest' + else + tag=$1 +fi + +docker build -t nubisware/nubisware-conductor-worker-py-d4s:$tag -f docker/d4science/Dockerfile . +docker push nubisware/nubisware-conductor-worker-py-d4s:$tag diff --git a/docker/d4science/Dockerfile b/docker/d4science/Dockerfile new file mode 100644 index 0000000..250a715 --- /dev/null +++ b/docker/d4science/Dockerfile @@ -0,0 +1,8 @@ +FROM python:3.7 +COPY ./docker/d4science/requirements.txt /app/ +RUN pip install -r /app/requirements.txt +COPY conductor/ /app/conductor +COPY pyexecplugins/ /app/pyexecplugins +COPY ./docker/d4science/requirements.txt PyExec.py ./docker/d4science/config.cfg ./docker/d4science/entrypoint.sh /app/ +WORKDIR /app +ENTRYPOINT ["/app/entrypoint.sh"] diff --git a/docker/d4science/config.cfg b/docker/d4science/config.cfg new file mode 100644 index 0000000..a2ff84d --- /dev/null +++ b/docker/d4science/config.cfg @@ -0,0 +1,9 @@ +[common] +loglevel = info +threads = 1 +pollrate = 1 + +[pymail] +server = smtp-relay.d4science.org +protocol = starttls +port = 587 diff --git a/docker/d4science/entrypoint.sh b/docker/d4science/entrypoint.sh new file mode 100755 index 0000000..4e4d391 --- /dev/null +++ b/docker/d4science/entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +export HEALTH=${CONDUCTOR_HEALTH:-http://conductor-server:8080/health} + +echo 'Waiting for Conductor at ' $HEALTH '...' + +while [[ "$(curl -s -o /dev/null -L -w ''%{http_code}'' $HEALTH)" != 200 ]]; do + echo 'still waiting ...' + sleep 5 +done + +echo 'Starting default workers with $worker_plugins ...' + +python3 PyExec.py $worker_plugins diff --git a/docker/d4science/requirements.txt b/docker/d4science/requirements.txt new file mode 100644 index 0000000..a3751e6 --- /dev/null +++ b/docker/d4science/requirements.txt @@ -0,0 +1,2 @@ +requests >= 2.19.1 +