This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
технология_docker [2025/10/17 10:45] val [Локальные репозитории] |
технология_docker [2026/01/28 15:38] (current) val [Инструмент kaniko] |
||
|---|---|---|---|
| Line 8: | Line 8: | ||
| ===== Методические идеи ===== | ===== Методические идеи ===== | ||
| - | * Добавить запись в журнал передаваемых скрипту webd заголовков | ||
| * Использовать переменную окружения, передаваемую контейнеру для включения/выключения режима отладки/записи в журнал | * Использовать переменную окружения, передаваемую контейнеру для включения/выключения режима отладки/записи в журнал | ||
| Line 16: | Line 15: | ||
| * [[https://docs.docker.com/engine/install/ubuntu/|Install Docker Engine on Ubuntu]] | * [[https://docs.docker.com/engine/install/ubuntu/|Install Docker Engine on Ubuntu]] | ||
| - | * [[https://docs.docker.com/engine/installation/linux/docker-ce/debian/|Get Docker CE for Debian]] | + | * [[https://docs.docker.com/engine/installation/linux/docker-ce/debian/|Get Docker CE for Debian]] (VERSION_STRING=5:24.0.9-1~debian.12~bookworm) |
| <code> | <code> | ||
| # apt install docker.io | # apt install docker.io | ||
| Line 32: | Line 31: | ||
| "registry-mirrors": ["https://mirror.gcr.io"] | "registry-mirrors": ["https://mirror.gcr.io"] | ||
| } | } | ||
| + | </code><code> | ||
| + | # service docker reload | ||
| </code> | </code> | ||
| - | |||
| ==== Настройка загрузки образов через proxy ==== | ==== Настройка загрузки образов через proxy ==== | ||
| 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 258: | Line 256: | ||
| <code> | <code> | ||
| :~/pywebd$ ## mkdir etc/; cp -rv /etc/pywebd/ etc/ | :~/pywebd$ ## mkdir etc/; cp -rv /etc/pywebd/ etc/ | ||
| - | :~/pywebd$ ## echo '<h1>Default from pywebd</h1>' > index.html | + | :~/pywebd$ ## mkdir var/; cp -rv /var/www/ var/ |
| + | :~/pywebd$ ### echo '<h1>Default from pywebd</h1>' > index.html | ||
| :~/pywebd$ dpkg -l | grep python | :~/pywebd$ dpkg -l | grep python | ||
| Line 284: | Line 283: | ||
| #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/ /etc/ |
| - | ## COPY --chown=myuser:myuser index.html /var/www/ | + | ## COPY --chown=myuser:myuser var/ /var/ |
| + | ### COPY --chown=myuser:myuser index.html /var/www/ | ||
| ### ADD www.tgz /var/ | ### ADD www.tgz /var/ | ||
| ### ENV PYWEBD_PORT=4080 | ### ENV PYWEBD_PORT=4080 | ||
| + | ### ENV PYWEBD_DOC_ROOT=/var/www/ | ||
| ### EXPOSE 4080 | ### EXPOSE 4080 | ||
| Line 501: | Line 502: | ||
| + | ==== Микросервисы ==== | ||
| ==== Использование готовых образов приложений ==== | ==== Использование готовых образов приложений ==== | ||
| Line 582: | Line 584: | ||
| </code><code> | </code><code> | ||
| # ###docker-compose build | # ###docker-compose build | ||
| + | |||
| + | # docker-compose config | ||
| # docker-compose up -d | # docker-compose up -d | ||
| Line 629: | Line 633: | ||
| ==== Копирование образов ==== | ==== Копирование образов ==== | ||
| <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 714: | Line 718: | ||
| * [[https://habr.com/ru/companies/slurm/articles/436126/|Kubernetes: сборка образов Docker в кластере, можно использовать kaniko]] | * [[https://habr.com/ru/companies/slurm/articles/436126/|Kubernetes: сборка образов Docker в кластере, можно использовать kaniko]] | ||
| + | * [[#Приложение golang gowebd]] | ||
| <code> | <code> | ||
| Line 719: | Line 724: | ||
| -v $(pwd):/workspace \ | -v $(pwd):/workspace \ | ||
| -v ~/.docker/config.json:/kaniko/.docker/config.json \ | -v ~/.docker/config.json:/kaniko/.docker/config.json \ | ||
| + | -e KANIKO_REGISTRY_MIRROR="mirror.gcr.io" \ | ||
| gcr.io/kaniko-project/executor:latest \ | gcr.io/kaniko-project/executor:latest \ | ||
| --skip-tls-verify --log-timestamp \ | --skip-tls-verify --log-timestamp \ | ||
| Line 772: | Line 778: | ||
| <BODY text="blue"> | <BODY text="blue"> | ||
| <H1><A HREF=/cgi-bin/apwebd/>Login to ${APWEBD_HOSTNAME}</A></H1> | <H1><A HREF=/cgi-bin/apwebd/>Login to ${APWEBD_HOSTNAME}</A></H1> | ||
| - | Version: 1.2 | + | Version: 1.1 |
| </BODY> | </BODY> | ||
| </HTML> | </HTML> | ||
| Line 828: | Line 834: | ||
| echo | echo | ||
| - | echo "<h1 style=\"color:blue;\">Привет ${OIDC_CLAIM_preferred_username}</h1>" | + | echo "<h1 style=\"color:blue;\">Привет ${OIDC_CLAIM_given_name}</h1>" |
| echo "<pre>"; env; echo "</pre>" | echo "<pre>"; env; echo "</pre>" | ||
| Line 834: | Line 840: | ||
| ~/apwebd# chmod +x rootfs/usr/lib/cgi-bin/apwebd rootfs/start.sh | ~/apwebd# chmod +x rootfs/usr/lib/cgi-bin/apwebd rootfs/start.sh | ||
| - | ~/apwebd$ docker build -t server.corp13.un:5000/student/apwebd:ver1.2 . | + | ~/apwebd$ docker build -t gitlab.corpX.un:5000/student/apwebd:ver1.1 . |
| - | + | ||
| - | ~/apwebd$ docker run -e APWEBD_HOSTNAME=apwebd.corp13.un -e KEYCLOAK_HOSTNAME=keycloak.corp13.un -e REALM_NAME=corp13 -itd --rm -P server.corp13.un:5000/student/apwebd:ver1.2 | + | |
| - | ~/apwebd$ docker run -e APWEBD_HOSTNAME=apwebd.corp13.un -e KEYCLOAK_HOSTNAME=keycloak.corp13.un -e REALM_NAME=corp13 -itd --entrypoint bash server.corp13.un:5000/student/apwebd:ver1.2 | + | ~/apwebd$ docker run -e APWEBD_HOSTNAME=apwebd.corpX.un -e KEYCLOAK_HOSTNAME=keycloak.corpX.un -e REALM_NAME=corpX -itd --rm -P gitlab.corpX.un:5000/student/apwebd:ver1.1 |
| - | ~/apwebd$ docker push server.corp13.un:5000/student/apwebd:ver1.2 | + | ~/apwebd$ docker push gitlab.corpX.un:5000/student/apwebd:ver1.1 |
| </code> | </code> | ||