User Tools

Site Tools


технология_docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
технология_docker [2026/02/08 07:15]
val [Создание образа для приложения с использованием Dockerfile]
технология_docker [2026/07/30 12:07] (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 144: Line 148:
 #!/bin/sh #!/bin/sh
  
-/​etc/​init.d/​inetutils-inetd start+#/​etc/​init.d/​inetutils-inetd start 
 +/​usr/​sbin/​inetutils-inetd -d
  
 bash bash
Line 188: Line 193:
 <​code>​ <​code>​
 lan# mkdir -p /root/webd/ && cd /root/webd/ lan# mkdir -p /root/webd/ && cd /root/webd/
-  или 
-gitlab-runner@server:​~$ mkdir -p ~/​webd/​webd/​ && cd ~/​webd/​webd/​ 
  
 lan:~/webd# scp server:/​usr/​local/​sbin/​webd . lan:~/webd# scp server:/​usr/​local/​sbin/​webd .
-  или 
-server# cp /​usr/​local/​sbin/​webd . 
-  или 
 </​code>​ </​code>​
   * [[Средства программирования shell#Web сервер на shell]]   * [[Средства программирования shell#Web сервер на shell]]
Line 204: Line 204:
 #!/bin/sh #!/bin/sh
  
-/​etc/​init.d/​inetutils-inetd start+#/​etc/​init.d/​inetutils-inetd start 
 +inetutils-inetd --foreground &
  
 touch /​var/​log/​webd.log touch /​var/​log/​webd.log
Line 256: Line 257:
   * [[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 268:
 </​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 278: Line 281:
 #ENV PATH="/​home/​myuser/​.local/​bin:​${PATH}"​ #ENV PATH="/​home/​myuser/​.local/​bin:​${PATH}"​
  
 +#ENV https_proxy=http://​proxy.isp.un:​3128
 RUN pip install -r requirements.txt RUN pip install -r requirements.txt
 #RUN pip install --user -r requirements.txt #RUN pip install --user -r requirements.txt
Line 285: Line 289:
  
 #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 296:
 ### 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 303:
 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 323:
 </​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 410:
  
 <​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 552:
  
   * [[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>​
технология_docker.1770524103.txt.gz · Last modified: 2026/02/08 07:15 by val