This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
технология_docker [2025/06/16 08:16] val [Создание образа для приложения с использованием Dockerfile] |
технология_docker [2025/10/21 07:19] (current) val [docker-compose] |
||
|---|---|---|---|
| Line 187: | Line 187: | ||
| === Приложение bash webd === | === Приложение bash webd === | ||
| <code> | <code> | ||
| - | server# 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/ | gitlab-runner@server:~$ mkdir -p ~/webd/webd/ && cd ~/webd/webd/ | ||
| - | server# cp /usr/local/sbin/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]] | ||
| <code> | <code> | ||
| - | gitlab-runner@server:~/webd/webd$ nano webd # добавляем закомментированные строки | + | # nano webd # добавляем закомментированные строки |
| - | + | ||
| - | server# ###tar -cvzf www.tgz -C /var/ www/ | + | |
| - | server# cat start.sh | + | # cat start.sh |
| </code><code> | </code><code> | ||
| #!/bin/sh | #!/bin/sh | ||
| Line 220: | Line 219: | ||
| </code><code> | </code><code> | ||
| #FROM debian | #FROM debian | ||
| - | #FROM debian:bullseye | ||
| FROM debian:bookworm | FROM debian:bookworm | ||
| Line 257: | Line 255: | ||
| <code> | <code> | ||
| - | :~/pywebd$ ### mkdir etc/; cp -rv /etc/pywebd/ etc/ | + | :~/pywebd$ ## mkdir etc/; cp -rv /etc/pywebd/ etc/ |
| - | :~/pywebd$ ### echo '<h1>Hello from pywebd</h1>' > index.html | + | :~/pywebd$ ## echo '<h1>Default from pywebd</h1>' > index.html |
| :~/pywebd$ dpkg -l | grep python | :~/pywebd$ dpkg -l | grep python | ||
| Line 284: | Line 282: | ||
| #COPY --chown=myuser:myuser app.py . | #COPY --chown=myuser:myuser app.py . | ||
| - | ### COPY --chown=myuser:myuser etc/pywebd/ /etc/pywebd/ | + | ## COPY --chown=myuser:myuser etc/pywebd/ /etc/pywebd/ |
| - | ### COPY --chown=myuser:myuser index.html /var/www/ | + | ## COPY --chown=myuser:myuser index.html /var/www/ |
| ### ADD www.tgz /var/ | ### ADD www.tgz /var/ | ||
| Line 364: | Line 362: | ||
| ENTRYPOINT ["/gowebd"] | ENTRYPOINT ["/gowebd"] | ||
| </code><code> | </code><code> | ||
| - | student@client1:~/gowebd$ docker images | + | ~/gowebd$ docker images |
| - | student@client1:~/gowebd$ time docker build -t gowebd . | + | ~/gowebd$ time docker build -t gowebd . |
| real 6m2.564s | real 6m2.564s | ||
| - | student@client1:~/gowebd$ docker run -d -p 8080:80 --rm gowebd | + | $ docker run -d -p 8080:80 --rm gowebd |
| - | student@client1:~/gowebd$ docker run -d --rm -p 80 --name gowebd01 gowebd | + | $ docker run -d --rm -p 80 --name gowebd01 gowebd |
| + | |||
| + | $ docker run -d --rm --network=host gowebd | ||
| </code> | </code> | ||
| Line 499: | Line 499: | ||
| + | ==== Микросервисы ==== | ||
| ==== Использование готовых образов приложений ==== | ==== Использование готовых образов приложений ==== | ||
| Line 536: | Line 537: | ||
| * [[Инструмент GitLab#Установка через docker-compose]] GitLab | * [[Инструмент GitLab#Установка через docker-compose]] GitLab | ||
| * Установка через [[Сервис Keycloak#docker-compose]] Keycloak | * Установка через [[Сервис Keycloak#docker-compose]] Keycloak | ||
| + | |||
| + | * [[https://kompose.io/|Go from Docker Compose to Kubernetes]] | ||
| <code> | <code> | ||
| - | # apt install docker-compose | + | # apt install docker-compose docker.io |
| # cat docker-compose.yml | # cat docker-compose.yml | ||
| </code><code> | </code><code> | ||
| - | version: "3" | + | #version: "3" |
| services: | services: | ||
| webd: | webd: | ||
| Line 551: | Line 554: | ||
| # ports: | # ports: | ||
| # - "80" | # - "80" | ||
| + | ## network_mode: host | ||
| volumes: | volumes: | ||
| - /etc/pywebd/:/etc/pywebd/ | - /etc/pywebd/:/etc/pywebd/ | ||
| Line 563: | Line 567: | ||
| # stdin_open: true | # stdin_open: true | ||
| # tty: true | # tty: true | ||
| + | # restart: unless-stopped | ||
| sftp: | sftp: | ||
| Line 576: | Line 581: | ||
| </code><code> | </code><code> | ||
| # ###docker-compose build | # ###docker-compose build | ||
| + | |||
| + | # docker-compose config | ||
| # docker-compose up -d | # docker-compose up -d | ||
| Line 620: | Line 627: | ||
| ===== Локальные репозитории ===== | ===== Локальные репозитории ===== | ||
| + | * [[https://www.suse.com/c/rancher_blog/container-registries-you-might-have-missed/|Container Registries You Might Have Missed]] | ||
| ==== Копирование образов ==== | ==== Копирование образов ==== | ||
| <code> | <code> | ||
| - | server# docker save -o test-webd.tgz test/webd | + | lan# docker save -o test-webd.tgz test/webd |
| - | lan# scp server:test-webd.tgz . | + | lan# scp test-webd.tgz somehost: |
| - | lan# docker load -i test-webd.tgz | + | somehost# docker load -i test-webd.tgz |
| </code> | </code> | ||
| ==== Insecure Private Registry ==== | ==== Insecure Private Registry ==== | ||
| Line 818: | Line 826: | ||
| #!/bin/sh | #!/bin/sh | ||
| - | echo Content-type: text/html | + | echo Content-type: "text/html;charset=utf-8" |
| echo | echo | ||
| - | echo "<h1 style=\"color:blue;\">Hello ${OIDC_CLAIM_preferred_username}</h1>" | + | echo "<h1 style=\"color:blue;\">Привет ${OIDC_CLAIM_preferred_username}</h1>" |
| echo "<pre>"; env; echo "</pre>" | echo "<pre>"; env; echo "</pre>" | ||