From b2fe868bca839f904ef3985133638c26b61d8fc6 Mon Sep 17 00:00:00 2001 From: 6ec123321 Date: Thu, 21 Mar 2019 14:45:08 +0400 Subject: [PATCH] Docker py-kms with argparse --- docker-py3-kms/Dockerfile | 62 +++++++++++++++++++++++++++++++++ docker-py3-kms/build-py3-kms.sh | 4 +++ docker-py3-kms/run-py3-kms.sh | 9 +++++ docker-py3-kms/start.sh | 5 +++ 4 files changed, 80 insertions(+) create mode 100644 docker-py3-kms/Dockerfile create mode 100755 docker-py3-kms/build-py3-kms.sh create mode 100755 docker-py3-kms/run-py3-kms.sh create mode 100644 docker-py3-kms/start.sh diff --git a/docker-py3-kms/Dockerfile b/docker-py3-kms/Dockerfile new file mode 100644 index 0000000..9e34a51 --- /dev/null +++ b/docker-py3-kms/Dockerfile @@ -0,0 +1,62 @@ +# Use Alpine Linux +FROM alpine:3.8 + +# Maintainer +#MAINTAINER Artur Petrov + +# EN: Variables +# RU: Переменные + +# EN: IP-address +# RU: IP-адрес +ENV TCP_ADDRESS 0.0.0.0 +# The IP address to listen on. The default is "0.0.0.0" (all interfaces). + +# EN: TCP-port +# RU: TCP-порт +ENV TCP_PORT 1688 +# The network port to listen on. The default is "1688". + +# EN: log level ("CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG") +# RU: Уровень логирования ("CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG") +ENV LOGLEVEL ERROR +# Use this flag to set a Loglevel. The default is "ERROR". + +# EN: log file +# RU: Лог-файл +ENV LOGFILE /var/log/pykms_server.log + +# EN: Startup script +# RU: Скрипт автозапуска +COPY start.sh /usr/bin/start.sh + +# EN: Software installation +# RU: Установка программного обеспечения +RUN echo "http://dl-cdn.alpinelinux.org/alpine/latest-stable/main" >> /etc/apk/repositories && \ + apk update && \ + apk upgrade && \ + apk add --update \ + bash \ + git \ + py3-argparse && \ + +# EN: Clone git-repo +# RU: Клонирование git-репозитория +git clone https://github.com/SystemRage/py-kms.git /home/py-kms && \ + +# EN: Change permissions +# RU: Меняем права доступа +chmod a+x /usr/bin/start.sh && \ + +# EN: Clear after install software +# RU: Очистка после установки программного обеспечения +apk del git + +# Set Workdir +WORKDIR /home/py-kms/py3-kms + +# Expose ports +EXPOSE ${TCP_PORT}/tcp + +# Entry point +ENTRYPOINT ["/usr/bin/start.sh"] diff --git a/docker-py3-kms/build-py3-kms.sh b/docker-py3-kms/build-py3-kms.sh new file mode 100755 index 0000000..e55eb3b --- /dev/null +++ b/docker-py3-kms/build-py3-kms.sh @@ -0,0 +1,4 @@ +docker stop py3-kms +docker rm py3-kms +docker image rm pykms/pykms:py3-kms +docker build -t pykms/pykms:py3-kms . diff --git a/docker-py3-kms/run-py3-kms.sh b/docker-py3-kms/run-py3-kms.sh new file mode 100755 index 0000000..49aa337 --- /dev/null +++ b/docker-py3-kms/run-py3-kms.sh @@ -0,0 +1,9 @@ +docker run -d --name py3-kms \ + -p 1688:1688 \ + -e TCP_ADDRESS=0.0.0.0 \ + -e TCP_PORT=1688 \ + -e LOGLEVEL=DEBUG \ + -e LOGFILE=/var/log/py3-kms.log \ + -v /etc/localtime:/etc/localtime:ro \ + -v /var/log:/var/log:rw \ + --restart unless-stopped pykms/pykms:py3-kms diff --git a/docker-py3-kms/start.sh b/docker-py3-kms/start.sh new file mode 100644 index 0000000..f40da08 --- /dev/null +++ b/docker-py3-kms/start.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# EN: Start daemons +# RU: Запуск демонов +cd /home/py-kms/py3-kms +/usr/bin/python3 server.py ${TCP_ADDRESS} ${TCP_PORT} -v ${LOGLEVEL} -f ${LOGFILE}