Puncte:0

Nu se poate porni containerul din imaginea docker/ Nu eșuează dacă adăugăm CMD pentru a porni agentul filebeat sau fluentd

drapel gb

nu pot porni containerul din imaginea docker care se construiește de dedesubt Dockerfile Nu reușește dacă adăugăm CMD pentru a porni agentul filebeat sau fluentd.

Dockerfile

###################################################################
DIN nodul:12
#instalați pm2
RUN npm install pm2 -g
RUN apt update
#create dir și copiați codul
RUN mkdir -p /home/devops/comera_registration_service/
WORKDIR /home/devops/comera_registration_service/
COPIE . .
#fluentd instalare
COPIEAZĂ fl.sh . 
RUN sh fl.sh
#instalarea depinde
RUN instalarea npm
#porniți aplicația
CMD [ „pm2-runtime”, „ecosystem.config.js”]
CMD ["/etc/init.d/td-agent", "start" ]  
#deschidere port
EXPUNERE 3010

introduceți descrierea imaginii aici

introduceți descrierea imaginii aici

drapel in
Vă rugăm să nu postați capturi de ecran de text când puteți doar să copiați și să lipiți textul.
Puncte:1
drapel hr

The nodul:12 imaginea are o scriptul punctului de intrare. Când an PUNCT DE INTRARE este specificat, Docker va folosi valorile din CMD la fel de parametrii pentru această comandă de intrare.

Punctul de intrare a imaginii părinte poate fi dezactivat adăugând următoarele în fișierul Docker:

PUNCT DE INTRARE []

Ca o notă secundară, atunci când sunt multiple CMD instrucțiunile sunt specificate într-un Dockerfile, doar ultimul va fi setat în imaginea rezultată.

Cu fișierul Docker de mai sus și punctul de intrare părinte eliminat, /etc/init.d/td-agent va fi PID 1 al containerului. Deoarece acesta este un script de inițializare, acesta se va închide când se termină pornirea demonului. Când PID 1 dispare, containerul va ieși.

Pentru a rula mai multe programe într-un container, este necesar un script wrapper sau un manager de proces. Rețineți că acest lucru nu este, în general, recomandat. De exemplu. pe Kubernetes este preferat modelul containerului sidecar.

Serji avatar
drapel gb
Mulțumesc, am încercat așa cum ați spus, dar când dau vreodată CMD ca agent de pornire fluent, iese din container. ``` CMD ["/etc/init.d/td-agent", "start" ] PUNCT DE INTRARE []
drapel hr
S-a actualizat răspunsul pentru a include rularea mai multor procese. Privind cazul dvs. de utilizare specific, probabil că nu ar trebui să adăugați fluentd la imaginea containerului existent. Aș recomanda să analizați rularea fluentbit/fluentd ca container sidecar.
Serji avatar
drapel gb
Multumesc, voi incerca asta. se va actualiza
Serji avatar
drapel gb
Salut, am schimbat jurnalul aplicației din calea personalizată la /dev/stdout și s-a rezolvat problema.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.