Neața :)

Da, cumva ne apropiem, după cum ziceam vorbim de un proiect de prin 2014-16 deci nu îmi mai amintesc nici eu bine.

Tu folosești nginx:latest care la rândul lui e și el derivat din ceva ( nu de către tine, de către alții, dar e) . Dacă te uiți la ce am dat eu, imaginile mele erau derivate dintr-o imagine de wheezy.

Acum poate oi fi greșit eu la acel moment, fiecare imagine era cu From: debian/wheezy și apt-install  aplicația mea. Aș fi putut probabil să le iau direct cu from: nginx:latest și să ignor că unul din containere ar putea fi bazat pe debian și altul pe alpine; eu așa m-am gândit, că e mai bine ca toate imaginile să aibă aceeași bază și pentru că debian foloseam atunci, să fie debian.

Cum docker e bazat pe layere succesive m-am gândit că așa e cel mai economic și mai ușor de întreținut.

Sigur că tu dacă o iei din nginx:latest pasezi problema la altul, ceea ce e bine pentru tine dar nu schimbă lucrurile. Și nginx:latest e probabil derivat tot din bookworm:latest, doar că nu de tine, și după from probabil tot apt-get install nginx are (eu am refuzat moda de a compila aplicația în Dockerfile, deși venind dinsprte slackware s-ar zice că e contraintuitiv :) )

Mă rog, nu are importanță, era doar o problemă de demult pe care am adus-o în discuție ca să ilustrez o tendință.

Aparent, proiectele de it sunt doar de două feluri: alea subfinanțate, unde se improvizează ca să meargă, și alea suprafinanțate, în care oamenii trebuie să își justifice salariul și adaugă layere succesive de complexitate la problemele simple. Cale de mijloc nu mai e :)


On 3/23/24 00:23, Petru Rațiu via RLUG wrote:
On Sat, Mar 23, 2024 at 12:09 AM Mihai Badici via RLUG <rlug@lists.lug.ro>
wrote:

Tu o ții pe a ta și ai tras niște concluzii greșite.

Eu builduiam o imagine locală - de exemplu porneam de la un build de
nginx , îi aplicam ceva scripturi de customizare și obțineam o imagine
locală, să zicem nginx-mihai.

Pe aia încercam să o țin upgradată și toate containerele le derivam din
ea. Până aici cred că ești de acord. În felul ăsta nici nu descărcam
decât o dată, nu că ar mai conta.

Într-adevăr nu îți trebuie systemd în container. Dar pe debian toate
serviciile, inclusiv nginx depindeau de systemd. Deci dacă vrei să
instalezi un jessie sau mai nou oricum trebuie să instalezi și systemd.


Vezi, aici m-ai pierdut. Pentru ca daca vrei nginx, folosesti nginx:latest
sau whatever. Care poate avea intern debian sau nu (default are, dar nu
prea conteaza), dar nu depinde in nici un fel de systemd (daca imi arati
unde scrie systemd la
https://github.com/nginxinc/docker-nginx/blob/1f227619c1f1baa0bed8bed844ea614437ff14fb/mainline/debian/Dockerfile
. il mananc).

Faptul ca o tot dai cu pachetele din Debian si dependinta lor de systemd
imi spune ca ai incercat sa pui full distro in container, si sigur-sigur
faci ceva foarte in raspar daca ajungi sa faci de-astea.

Aia cu "imaginea aia incercam sa o tin upgradata" e semn ca faceai ceva gen
golden image de VM, si efectiv la containere nu vrei sa faci asta decat in
anumite situatii foarte particulare. Daca vrei sa ai containere
maintainable, vrei sa tii un layer cat mai subtire de customizare pe
imagini facute de upstream (preferabil chiar de catre maintainerii
softurilor respective) si sa faci periodic rebuild cu acelasi scripturi ale
tale bazate pe latest security updates.

Si ma rog, treaba ta, faci ce vrei, dar nu veni sa bombani ca ale naibii
iphoanele astea noi, bati doua cuie cu ele si trebuie schimbate.


_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro

Raspunde prin e-mail lui