1

Тема: Пару запитань новачка у docker

Більшість своєї кар'єри пропрацював з vagrant+Oracle VB+puppet, але час диктує своє.. і щось я ніяк не вдуплю кілька фундаментальних речей. Якщо ваша ласка, дайте відповіді на два таких запитання.

1. Як ви знаходите потрібний імідж, від якого починаєте "плясати"?

2. Чи можна якось зробити так, щоб всередині іміджу був власний інтерфейс з власною IP-адресою? Бо якось мені не дуже подобається все запускати під локалхостом з різними портами, адже у вірчуалбоксі, маємо повноцінну машину зі своєю віртуальною мережевою карткою, яка або NATиться, або бріджується (вибачте за такі терміни, не знав як краще) з певними віртуальним інтерфейсом на хост машині. Виходить так, що ти просто маєш окрему машину зі своїм доменом (у /etc/hosts) і це справді зручно. Хочу так само і з цим незрозумілим мені поки що докером.

Перше запитання досить абстрактне, але може дасте кілька порад, а от друге, мабуть, воно й важливіше, якщо зможете щось конкретне написати чи якусь доку зрозумілу тикнути мене носом. Дуже дякую.

Подякували: leofun011

2 Востаннє редагувалося flatliner (07.11.2022 01:37:00)

Re: Пару запитань новачка у docker

Ну, як завжди, треба запитати, щоб через кілька хвилин самому знайти відповідь, а до цього ну ніяк не вдавалося... Це я про мережу. Робиться приблизно так:

docker network create --subnet=192.168.1.0/24 mynet

docker run -it -d --net=mynet --ip=192.168.1.234 docker/getting-started

На перше запитання відповіді ще актуальні. Дякую.

PS: Не розумію, чому з перших сторінок документації не вказати цю можливість замість -p 8080:80 і т. п.

Подякували: leofun011

3 Востаннє редагувалося Torbins (07.11.2022 11:18:16)

Re: Пару запитань новачка у docker

Образи можна шукати в хабі: https://hub.docker.com/search?q= Там усілякі рейтинги, фільтри, історія оновлень і таке інше.

Подякували: leofun01, flatliner2

4

Re: Пару запитань новачка у docker

bvn написав:

1. Як ви знаходите потрібний імідж, від якого починаєте "плясати"?

Торбінс, написав про дефолтний Докер Хаб, але це не єдиний публічний реєстр образів. Скажімо, для Амазонівської специфіки може бути більш корисним Amazon ECR Public Gallery. І т.д.

Подякували: leofun01, flatliner2

5

Re: Пару запитань новачка у docker

Дивіться, що я накрутив. Я розумію, що це не docker-way, а швидше vagrnat-way, до якого я більше звик. І ще не зовсім розібрався з docker compose. Але я вирішив покроково, спочатку розібратися з docker build і намагався склепати образ на кшталт "все-в-одному".

І ще один, момент, в цьому образі запихнуте застаріле ПЗ, саме через те, що я намагався повторити вже існуюче середовище у одній з моїх vm'ок під vagrant'ом. Гадаю, що наразі не складе труднощів підвищити версії за потреби.

Отже, Dockerfile:

FROM ubuntu:trusty

ARG UID
ARG GID=${UID}
ARG DEBIAN_FRONTEND=noninteractive

WORKDIR /var/www/filemanager.loc

RUN apt-get update

RUN apt-get -y -q install language-pack-uk lynx mc htop git curl wget

# USERS

RUN addgroup --gid ${GID} dev

RUN adduser --disabled-password --uid ${UID} --gid ${GID} --gecos '' dev

RUN usermod -a -G www-data,sudo dev

RUN echo "dev ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/dev

# APACHE

RUN apt-get -y -q install apache2 apache2-mpm-prefork ssl-cert ca-certificates \
    libapache2-mod-php5

RUN a2enmod rewrite

COPY docker/apache/000-default.conf /etc/apache2/sites-available/000-default.conf

# PHP

RUN apt-get -y -q install imagemagick mcrypt recode php5 php5-cli php5-dev \
    php5-mysql php5-memcache php5-memcached php5-sqlite php5-mongo php5-redis \
    php5-mcrypt php5-imagick php5-gd php5-recode php5-curl php5-mhash \
    php5-xcache php5-ming php5-idn php-gettext php5-tidy php5-ps php5-pspell \
    php5-imap php5-xdebug php5-xmlrpc php5-xsl

COPY docker/php/php.ini /etc/php5/apache2/php.ini

# NPM

RUN apt-get -y -q install nodejs nodejs-legacy npm

RUN npm config set strict-ssl false && npm install n -g && n 14

EXPOSE 80

ENTRYPOINT sudo /usr/sbin/service apache2 start && /bin/bash

build.sh:

#!/bin/bash

#docker build -t bvnflatliner/filemanager . --no-cache \
docker build -t bvnflatliner/filemanager . \
     --build-arg UID=`stat -c "%u" .` \
     --build-arg GID=`stat -c "%g" .`

run.sh:

#!/bin/bash

if [ -z "`docker network ls -q -f name=mynet`" ];
then
    echo "Create network";
    docker network create --subnet=192.168.2.0/24 mynet;
fi

echo "Run container"
docker run --rm -it --network=mynet --ip=192.168.2.254 \
    -v "$(pwd)":/var/www/filemanager.loc -u dev \
    --name=filemanager bvnflatliner/filemanager

Критика вітається.

6

Re: Пару запитань новачка у docker

Навіщо вам убунту, якщо усе потрібне уже є на хості? Беріть за основу образ з Апачем, якщо вам він потрібен. Ну й решту софту можна додати іншими образами.
Не дивіться на докер як на віртуалку, для цього є нормальні віртуалки. Дивіться на докер як на професійну версію флетпака, де ви встановлюєте окремі аплікушки.

Подякували: flatliner, bebyk2

7 Востаннє редагувалося flatliner (28.12.2022 02:32:12)

Re: Пару запитань новачка у docker

Що то є флетпак?

PS:
"Навіщо вам убунту, якщо усе потрібне уже є на хості?"

Якщо це запитання не риторичне, то відповідь на нього у першому абзаці мого допису.

8 Востаннє редагувалося Droid 77 (31.12.2022 15:37:59)

Re: Пару запитань новачка у docker

То мабуть пан Torbins хотіли Вам сказати, докер то ізольований від ОС контейнер для тимчасового тестування аплікушок на власній машині. Або на будь якій іншій машині, але в ізоляції від ОС.

P. S.
Докер зручний для тестування та відлагодження аплікацій.

9

Re: Пару запитань новачка у docker

Droid 77
Докер не тільки для тестування. На ньому уже крутиться немало продакшенів.

bvn
Отам, де у вас apt-get install, у вас умовно має бути docker pull. А потім усі потрібні образи об'єднуються разом через compose.

Що то є флетпак?

https://uk.wikipedia.org/wiki/Flatpak

Подякували: flatliner, bebyk, leofun013

10 Востаннє редагувалося flatliner (20.01.2023 03:33:01)

Re: Пару запитань новачка у docker

Почав потроху розгрібатися з docker compose і перше запитання, яке в мене випливає. А що не можна всі сервіси на одній ip-адресі запустити?

PS: І ще, вибачте, якщо банальне запитання, доки я докопирсаюсь, може хто знає одразу наштовхне мене на рішення. Чи можна в docker-compose.yml якось робити умовні блоки?

Бо хочеться зробити (власне я взяв за основу один такий) універсальний конфігурябельний сетапчик, щоб в залежності від .env  він міг запускатися або на localhost, або на вказаній мережі і конкретній IP-адресі. Але мені так здалося, що опції networks: і ports: є взаємовиключними... от мені й хотілося б їх включити в умовний блок накшталт такого:

IF ${NETWORK}
    networks:
        ${NETWORK}:
            ip4_addres: ${IP4_ADDRESS}
ELSE
    ports:
        "${HOST_MACHINE_UNSECURE_HOST_PORT}:80"
ENDIF

11 Востаннє редагувалося flatliner (23.01.2023 17:25:53)

Re: Пару запитань новачка у docker

Більш-менш вирішив свої проблеми, не знаю, чи цікавлять когось деталі, якщо коротко, то...
networks і ports не те щоб дуже зовсім не сумісні, якщо залишати пустою частину конфігурації. Тобто для окремої мережі ми маємо всі порти залишити пустими і після підстановки це буде виглядати як

ports:
    - ":80"
    - ":443"

А для варіанту з підміною портів на локалхості, навпаки, залишаєм пустою назву мережі і IP-адреси, тоді все працює так, як наче директиви networks в конфігу й не було. А після підстановки це виглядає так:

В конфігурації сервісу:

    networks:
        default:
            ipv4_address:

а внизу в конфігурації мережі так:

networks:
    default:
        name:

PS: І так, всі сервіси на одній IP-адресі, наскільки я зміг з цим питанням розібратися, запустити неможливо... на жаль. Звісно, в локальці цей ресурс майже необмежений і наче й не проблема, хоча мені якось мій vagrant-стиль сподобався більше через це. Трохи я не розплямкав ще того docker'а )

12

Re: Пару запитань новачка у docker

Якщо добре знаєте якусь мову програмування, то для неї напевне є двигун темплейтів, який дозволить згенерувати yml залежно від якихось умов. Наприклад для пітончика є Mako.

13

Re: Пару запитань новачка у docker

Розбираюся з докером. З одним хитрим випадком розібрався за допомогою ґпт. Але дали наступне завдання і тут вже трохи складніше.

Скористаюся цією темою.

Запитань багато, але почну з старих як гімно мамонта депенденсіс:

Step 11/20 : RUN npm install
 ---> Running in 9f021f395534
npm WARN deprecated @fortawesome/fontawesome@1.1.8: This package is deprecated. See https://git.io/fNCzJ for information about upgrading.
npm WARN deprecated @fortawesome/fontawesome-free-brands@5.0.13: This package is deprecated. See https://git.io/fNCzJ for information about upgrading.       
npm WARN deprecated @fortawesome/fontawesome-free-regular@5.0.13: This package is deprecated. See https://git.io/fNCzJ for information about upgrading.      
npm WARN deprecated @types/chalk@2.2.0: This is a stub types definition for chalk (https://github.com/chalk/chalk). chalk provides its own type definitions, so you don't need @types/chalk installed!                                                                                                                    
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.                                    
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142                                          
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)                                                                                                                                         
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3                                                                         
npm WARN deprecated formatio@1.1.1: This package is unmaintained. Use @sinonjs/formatio instead                                                              
npm WARN deprecated samsam@1.1.2: This package has been deprecated in favour of @sinonjs/samsam                                                              
npm WARN deprecated fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2                                      
npm WARN deprecated @types/form-data@2.5.0: This is a stub types definition. form-data provides its own type definitions, so you do not need this installed. 
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility                                        
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.                                                                                               
npm WARN deprecated har-validator@5.1.5: this library is no longer supported                                                                                 
npm WARN deprecated sw-precache@5.2.1: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw          
npm WARN deprecated circular-json@0.3.3: CircularJSON is in maintenance only, flatted is its successor.                                                      
npm WARN deprecated multer@1.4.4: Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.                                                   
npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info.                                                      
npm WARN deprecated samsam@1.1.3: This package has been deprecated in favour of @sinonjs/samsam                                                              
npm WARN deprecated uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.                                                                                               
npm WARN deprecated sw-toolbox@3.6.0: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw           
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)                                                                  
npm WARN deprecated formatio@1.2.0: This package is unmaintained. Use @sinonjs/formatio instead                                                              
npm WARN deprecated samsam@1.3.0: This package has been deprecated in favour of @sinonjs/samsam                                                              
npm WARN deprecated text-encoding@0.6.4: no longer maintained                                                                                                
npm WARN deprecated request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142                                          
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.                                                                                     
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated                                                    
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated                                                                      
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated                                                                         
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated

Якщо з тими де воно само підказує заміну ще більш-менш зрозуміло, то що робити з тими про які говорить що воно тупо "no longer maintained"?

14 Востаннє редагувалося kisilam (11.05.2023 23:29:01)

Re: Пару запитань новачка у docker

frz написав:

Розбираюся з докером. З одним хитрим випадком розібрався за допомогою ґпт. Але дали наступне завдання і тут вже трохи складніше.

Скористаюся цією темою.

Запитань багато, але почну з старих як гімно мамонта депенденсіс:

Step 11/20 : RUN npm install
 ---> Running in 9f021f395534
npm WARN deprecated @fortawesome/fontawesome@1.1.8: This package is deprecated. See https://git.io/fNCzJ for information about upgrading.
npm WARN deprecated @fortawesome/fontawesome-free-brands@5.0.13: This package is deprecated. See https://git.io/fNCzJ for information about upgrading.       
npm WARN deprecated @fortawesome/fontawesome-free-regular@5.0.13: This package is deprecated. See https://git.io/fNCzJ for information about upgrading.      
npm WARN deprecated @types/chalk@2.2.0: This is a stub types definition for chalk (https://github.com/chalk/chalk). chalk provides its own type definitions, so you don't need @types/chalk installed!                                                                                                                    
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.                                    
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142                                          
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)                                                                                                                                         
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3                                                                         
npm WARN deprecated formatio@1.1.1: This package is unmaintained. Use @sinonjs/formatio instead                                                              
npm WARN deprecated samsam@1.1.2: This package has been deprecated in favour of @sinonjs/samsam                                                              
npm WARN deprecated fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2                                      
npm WARN deprecated @types/form-data@2.5.0: This is a stub types definition. form-data provides its own type definitions, so you do not need this installed. 
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility                                        
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.                                                                                               
npm WARN deprecated har-validator@5.1.5: this library is no longer supported                                                                                 
npm WARN deprecated sw-precache@5.2.1: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw          
npm WARN deprecated circular-json@0.3.3: CircularJSON is in maintenance only, flatted is its successor.                                                      
npm WARN deprecated multer@1.4.4: Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.                                                   
npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info.                                                      
npm WARN deprecated samsam@1.1.3: This package has been deprecated in favour of @sinonjs/samsam                                                              
npm WARN deprecated uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.                                                                                               
npm WARN deprecated sw-toolbox@3.6.0: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw           
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)                                                                  
npm WARN deprecated formatio@1.2.0: This package is unmaintained. Use @sinonjs/formatio instead                                                              
npm WARN deprecated samsam@1.3.0: This package has been deprecated in favour of @sinonjs/samsam                                                              
npm WARN deprecated text-encoding@0.6.4: no longer maintained                                                                                                
npm WARN deprecated request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142                                          
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.                                                                                     
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated                                                    
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated                                                                      
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated                                                                         
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated

Якщо з тими де воно само підказує заміну ще більш-менш зрозуміло, то що робити з тими про які говорить що воно тупо "no longer maintained"?

В такому випадку вам до розробника, щоб поправив аплікуху. Або спробуйте різні верcії nodejs

15 Востаннє редагувалося kisilam (11.05.2023 23:59:06)

Re: Пару запитань новачка у docker

bvn написав:

Що то є флетпак?

PS:
"Навіщо вам убунту, якщо усе потрібне уже є на хості?"

Якщо це запитання не риторичне, то відповідь на нього у першому абзаці мого допису.

Вам намагаються сказати, що є уже готові образи з тим самим apache  і не потрібно брати чистий образ убунти і на ню ставити все  з LAMP

Ось образ з php:8.2.6-apache з пихою і апачем. Тільки ставите в контейнер  nodejs і все, монтуєте директорію з проектом і стартуєте.

Подякували: flatliner1

16 Востаннє редагувалося kisilam (12.05.2023 00:01:55)

Re: Пару запитань новачка у docker

bvn написав:

Більш-менш вирішив свої проблеми, не знаю, чи цікавлять когось деталі, якщо коротко, то...
networks і ports не те щоб дуже зовсім не сумісні, якщо залишати пустою частину конфігурації. Тобто для окремої мережі ми маємо всі порти залишити пустими і після підстановки це буде виглядати як

ports:
    - ":80"
    - ":443"

А для варіанту з підміною портів на локалхості, навпаки, залишаєм пустою назву мережі і IP-адреси, тоді все працює так, як наче директиви networks в конфігу й не було. А після підстановки це виглядає так:

В конфігурації сервісу:

    networks:
        default:
            ipv4_address:

а внизу в конфігурації мережі так:

networks:
    default:
        name:

PS: І так, всі сервіси на одній IP-адресі, наскільки я зміг з цим питанням розібратися, запустити неможливо... на жаль. Звісно, в локальці цей ресурс майже необмежений і наче й не проблема, хоча мені якось мій vagrant-стиль сподобався більше через це. Трохи я не розплямкав ще того docker'а )

Ви не зрозуміли, напевне, ідею мульсервісних застосунків, які запускаються на основі кнтейнерів. Плюс, коли ви кажете про ВМ-ку і що там всі сервіси висять на одному айпі, то в чому проблема зібрати образ контейнера, де всі вам необхідні сервіси будуть в одному контейнері. тоді і ці сервіси будуть на одному айпі.
Ідея мультисервісного підходу за допомогою контейнерів полягає в тому, що застосунок який використовує багато сервісів для роботи (web-server, database, nodejs, php-fpm, memcahced, redis, Nosql DB, reverse proxy, certbot etx) розбивається на окремі контенйнери і в кожному цьому контейнері запускається лише одна складова служба. І взаємодія між цим службами відбувається в межах однієї підмережі, до якої і конектяться ці контейнери. Тому тут і виходе, що використовуються багато айпі, для кожного конкретного контейнера. Можна і для роботи сервісів використати socker  файли.
Доречі, коли ви всі ці сервіси стартуєте на віртуалці так само налаштовуєте взаємодію між  нимим або через сокет-файли або через loopback  інтерфейс+порт (а з контейнерами те саме, але використовується інша мережа, приватна 172... )
А тепер на рахунок директив запуску контейнерів :
        ports: 8080:80 (або -р при запуску через  docker run)  слугує для того, щоб через службу  docker-proxy  прокинути порти з контейнера на хост-систему (за допомогою NAT між мережею docker 172.... і хост системою) і тоді ви конектячись на localhost:8080 отримуєте доступ до 80 порту відповідного контейнера. До налаштувань мережі самих контейнерів це немає відношення.

        networks:
    default:
        name:
дана конструкція уже напряму працює з мережами які використовуватимуть контейнери, в даному випадку пишеться про те, що буде створена окрема мережа, з своєю назвою і своїми параметрами мережі, відмінними від дефолтних 172.17.0.1. Мережі в докерах є різні під різні завдання. Детальніше тут https://docs.docker.com/network/

В будь якому випадку, можете по аналогії сприймати контейнери як окремі ВМ-ки, які працюють в одній локальній мережі з багаться сервісами. Вихід назовні в них усіх одна точка, хост-система. Це дуже спрощено і можливо, навіть, не вірне судження.

Подякували: leofun011

17

Re: Пару запитань новачка у docker

kisilam написав:

вам до розробника, щоб поправив аплікуху.

В реаліях цього куска коду даний варіант неможливий, швидше за все людину наймали епізодично, контактів ніяких нема.

kisilam написав:

спробуйте різні верcії nodejs

А хіба це допоможе у випадку, коли компонент вже не підтримується? Тобто я повертаю nodejs на версію назад, і тоді компонент може бути все ще доступним?

18

Re: Пару запитань новачка у docker

Наприклад, як саме пофіксити ось таку хрінь? Це вже коли все збілдилося і запустилося, ця кака відображається в логах вебсервера при звертанні до головної сторінки аплікації (замість контенту показує порожню сторінку)

webapp-nginx | 192.168.1.203 - - [11/May/2023:22:26:35 +0000] "GET /node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js HTTP/1.1" 404 142 "https://192.168.1.203/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "-"

там ще таких багато інших, вибрав першу помилку.

19

Re: Пару запитань новачка у docker

frz написав:
kisilam написав:

вам до розробника, щоб поправив аплікуху.

В реаліях цього куска коду даний варіант неможливий, швидше за все людину наймали епізодично, контактів ніяких нема.

kisilam написав:

спробуйте різні верcії nodejs

А хіба це допоможе у випадку, коли компонент вже не підтримується? Тобто я повертаю nodejs на версію назад, і тоді компонент може бути все ще доступним?

Всіх залежностей не аʼперевіряв, але ось цей рядок

npm WARN deprecated request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142 

ось репка доступна ще
https://github.com/request/request

А ось packege.json

  "license": "Apache-2.0",
  "engines": {
    "node": ">= 6"
  },

не думаю, що такий мамонт на  nodejs 14  стартане. Тому і запропонував змінити версію  nodejs
Якщо немає доступу до прогрера, то така собі затія з тим всім розбиратися.
А проект дійно був робочий?

Подякували: leofun011

20

Re: Пару запитань новачка у docker

frz написав:

Наприклад, як саме пофіксити ось таку хрінь? Це вже коли все збілдилося і запустилося, ця кака відображається в логах вебсервера при звертанні до головної сторінки аплікації (замість контенту показує порожню сторінку)

webapp-nginx | 192.168.1.203 - - [11/May/2023:22:26:35 +0000] "GET /node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js HTTP/1.1" 404 142 "https://192.168.1.203/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36" "-"

там ще таких багато інших, вибрав першу помилку.

це не показує помилку роботи аплікухи. Запитується  "-" , аплікуха каже , що 404.
Для відлагодження стартуйте  dev  середовище і дивіться на помилки інтерактивно

npm run dev
Подякували: leofun011