This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
технология_docker [2026/02/08 07:15] val [Создание образа для приложения с использованием Dockerfile] |
технология_docker [2026/06/12 07:36] (current) val [Создание образа для приложения с использованием Dockerfile] |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| * [[https://www.upguard.com/articles/docker-vs-lxc|Docker vs LXC]] | * [[https://www.upguard.com/articles/docker-vs-lxc|Docker vs LXC]] | ||
| * [[https://youtu.be/QF4ZF857m44|youtube/Артем Матяшов/Основы Docker. Большой практический выпуск]] | * [[https://youtu.be/QF4ZF857m44|youtube/Артем Матяшов/Основы Docker. Большой практический выпуск]] | ||
| + | |||
| + | * [[https://habr.com/ru/articles/1041784/|Best Practices по Dockerfile: от базового образа и кеша до SBOM, Cosign и CI/CD]] | ||
| Line 67: | Line 69: | ||
| <code> | <code> | ||
| # docker run hello-world | # docker run hello-world | ||
| + | |||
| + | # docker run -it --rm busybox | ||
| # docker events --since '10m' | # docker events --since '10m' | ||
| Line 256: | Line 260: | ||
| * [[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?]] | ||
| + | * [[https://hub.docker.com/_/python]] | ||
| <code> | <code> | ||
| :~/pywebd$ ## mkdir etc/; cp -rv /etc/pywebd/ etc/ | :~/pywebd$ ## mkdir etc/; cp -rv /etc/pywebd/ etc/ | ||
| Line 266: | Line 271: | ||
| </code><code> | </code><code> | ||
| FROM python:3.11-alpine | FROM python:3.11-alpine | ||
| + | #FROM python:3.14-alpine | ||
| #RUN pip install --root-user-action=ignore --upgrade pip | #RUN pip install --root-user-action=ignore --upgrade pip | ||
| Line 285: | Line 291: | ||
| #COPY --chown=myuser:myuser app.py . | #COPY --chown=myuser:myuser app.py . | ||
| + | |||
| + | ## COPY --chown=myuser:myuser gunicorn.conf.py . | ||
| ## COPY --chown=myuser:myuser etc/ /etc/ | ## COPY --chown=myuser:myuser etc/ /etc/ | ||
| ## COPY --chown=myuser:myuser var/ /var/ | ## COPY --chown=myuser:myuser var/ /var/ | ||
| Line 290: | Line 298: | ||
| ### ADD www.tgz /var/ | ### ADD www.tgz /var/ | ||
| - | ### ENV PYWEBD_PORT=4080 | + | # ENV PYWEBD_PORT=4080 |
| - | ### ENV PYWEBD_DOC_ROOT=/var/www/ | + | # ENV PYWEBD_DOC_ROOT=/var/www/ |
| ### EXPOSE 4080 | ### EXPOSE 4080 | ||
| Line 297: | Line 305: | ||
| ENTRYPOINT ["python"] | ENTRYPOINT ["python"] | ||
| CMD ["app.py"] | CMD ["app.py"] | ||
| + | # ENTRYPOINT ["gunicorn","-c","gunicorn.conf.py","app:app"] | ||
| </code><code> | </code><code> | ||
| :~/pywebd$ time docker build -t pywebd . | :~/pywebd$ time docker build -t pywebd . | ||
| Line 316: | Line 325: | ||
| </code><code> | </code><code> | ||
| FROM python:3.11-alpine | FROM python:3.11-alpine | ||
| + | #FROM python:3.14.5-alpine | ||
| RUN pip install --root-user-action=ignore --upgrade pip | RUN pip install --root-user-action=ignore --upgrade pip | ||
| Line 402: | Line 412: | ||
| <code> | <code> | ||
| - | $ MY_ID=$(docker run -d --rm gowebd) | + | MY_ID=$(docker run -d --rm gowebd) |
| - | $ MY_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $MY_ID) | + | MY_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $MY_ID) |
| - | $ docker run --rm alpine/curl -sS $MY_IP | + | docker run --rm alpine/curl -sS $MY_IP |
| - | $ docker stop $MY_ID | + | docker stop $MY_ID |
| </code> | </code> | ||
| Line 544: | Line 554: | ||
| * [[https://kompose.io/|Go from Docker Compose to Kubernetes]] | * [[https://kompose.io/|Go from Docker Compose to Kubernetes]] | ||
| + | |||
| + | ==== Установка ==== | ||
| <code> | <code> | ||
| # apt install docker-compose docker.io | # apt install docker-compose docker.io | ||
| + | </code> | ||
| + | ==== Пример развертывания ==== | ||
| + | <code> | ||
| # cat docker-compose.yml | # cat docker-compose.yml | ||
| </code><code> | </code><code> | ||