Created
June 9, 2022 09:30
-
-
Save shvargon/27468f7fda95d073097b6d1b7ec4abae to your computer and use it in GitHub Desktop.
docker объяснения
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Первая стадия создание образа который копирует исходник wsdd | |
| FROM python:3.10.5-alpine3.15 as builder | |
| # указываем папку в которой работаем тоже самое что cd | |
| WORKDIR /app | |
| # ставим git | |
| RUN apk add --no-cache git | |
| # клонируем образ | |
| RUN git clone --depth=1 https://github.com/christgau/wsdd.git | |
| # вторая стадия запуск wsdd | |
| FROM python:3.10.5-alpine3.15 | |
| # указываем папку в которой работаем тоже самое что cd | |
| WORKDIR /app | |
| # копируем файд wsdd из первой стадии | |
| # Нужно для того чтобы git тут не ставить | |
| # и не удалить другие ненужные файлы | |
| COPY --from=builder /app/wsdd/src/wsdd.py /app | |
| # копируем файл который помогает запускать | |
| COPY ./entrypoint.sh / | |
| # создаем группу wsdd | |
| RUN addgroup -g 1001 wsdd &&\ | |
| # создаем юзера wsdd | |
| adduser \ | |
| --disabled-password \ | |
| --gecos "" \ | |
| --home "$(pwd)" \ | |
| --ingroup wsdd \ | |
| --no-create-home \ | |
| --uid 1001 \ | |
| wsdd && \ | |
| # указываем владельца для папки | |
| chown -R wsdd:wsdd "$(pwd)" && \ | |
| # указываем права рекурсивно -r-x--x--- | |
| # то есть имеем право читать и исполнять из под рута | |
| # тк должно запускаться от wsdd | |
| chmod -R 510 /entrypoint.sh /app | |
| # метки для инспекта | |
| LABEL version="1.0" \ | |
| maintainer="animekazna@gmail.com" | |
| # открываем порты | |
| EXPOSE 3702 5357 | |
| # точка входа | |
| ENTRYPOINT [ "/entrypoint.sh" ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # если хост не указан выходим | |
| ( : ${HOST?"pls pass -e HOST=somehost"} ) || exit 1 | |
| ARGS="" | |
| # подставляем аргументы | |
| [[ -z "${WORKGROUP}" ]] || ARGS="$ARGS --workgroup $WORKGROUP" | |
| [[ -z "${DOMAIN}" ]] || ARGS="$ARGS --domain $DOMAIN" | |
| # запскаем $@ в конце передает аргументы | |
| exec python /app/wsdd.py --hostname ${HOST} ${ARGS} $@ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment