Docker py-kms with argparse

This commit is contained in:
6ec123321 2019-03-21 14:45:08 +04:00
parent 87fed586ee
commit b2fe868bca
4 changed files with 80 additions and 0 deletions

62
docker-py3-kms/Dockerfile Normal file
View File

@ -0,0 +1,62 @@
# Use Alpine Linux
FROM alpine:3.8
# Maintainer
#MAINTAINER Artur Petrov <artur@phpchain.ru>
# 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"]

View File

@ -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 .

9
docker-py3-kms/run-py3-kms.sh Executable file
View File

@ -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

5
docker-py3-kms/start.sh Normal file
View File

@ -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}