This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
технология_docker [2025/04/23 10:45] val [Запуск контейнеров] |
технология_docker [2025/06/12 08:50] (current) val [Создание образа для приложения с использованием Dockerfile] |
||
---|---|---|---|
Line 180: | Line 180: | ||
* [[#Запуск в режиме демона и подключение к контейнеру]] из полученного образа | * [[#Запуск в режиме демона и подключение к контейнеру]] из полученного образа | ||
==== Создание образа для приложения с использованием Dockerfile ==== | ==== Создание образа для приложения с использованием Dockerfile ==== | ||
+ | |||
+ | * [[https://habr.com/ru/companies/slurm/articles/329138/|ENTRYPOINT vs CMD: назад к основам]] | ||
* [[Сервис TACACS+]] | * [[Сервис TACACS+]] | ||
Line 250: | Line 252: | ||
=== Приложение python pywebd === | === Приложение python pywebd === | ||
- | * [[Язык программирования Python]] | + | * [[Язык программирования Python#Flask Gunicorn]] |
* [[https://stackoverflow.com/questions/49955097/how-do-i-add-a-user-when-im-using-alpine-as-a-base-image|How do I add a user when I'm using Alpine as a base image?]] | * [[https://stackoverflow.com/questions/49955097/how-do-i-add-a-user-when-im-using-alpine-as-a-base-image|How do I add a user when I'm using Alpine as a base image?]] | ||
Line 302: | Line 304: | ||
* [[#Запуск в режиме демона и подключение к контейнеру]] | * [[#Запуск в режиме демона и подключение к контейнеру]] | ||
+ | |||
+ | === Приложение python pywebd2 === | ||
+ | |||
+ | * [[Язык программирования Python#FastAPI Uvicorn]] | ||
+ | |||
+ | <code> | ||
+ | ~/pywebd2# cat Dockerfile | ||
+ | </code><code> | ||
+ | FROM python:3.11-alpine | ||
+ | |||
+ | RUN pip install --root-user-action=ignore --upgrade pip | ||
+ | |||
+ | RUN pip install poetry | ||
+ | |||
+ | RUN adduser -D myuser | ||
+ | USER myuser | ||
+ | WORKDIR /home/myuser | ||
+ | |||
+ | COPY --chown=myuser:myuser . . | ||
+ | |||
+ | RUN poetry install | ||
+ | |||
+ | ENTRYPOINT ["poetry", "run"] | ||
+ | CMD ["python3", "app.py"] | ||
+ | </code><code> | ||
+ | ~/pywebd2# time docker build -t pywebd2 . | ||
+ | |||
+ | # docker run -d -p 8000 --rm pywebd2 | ||
+ | |||
+ | # docker run -d -p 4080 --rm pywebd2 uvicorn app:app --reload --host 0.0.0.0 --port 4080 | ||
+ | </code> | ||
=== Приложение golang gowebd === | === Приложение golang gowebd === | ||
Line 555: | Line 588: | ||
# docker-compose rm | # docker-compose rm | ||
+ | |||
+ | # docker volume inspect root_vol1 | ||
# docker volume rm root_vol1 | # docker volume rm root_vol1 |