Sobes.tech
Junior

Docker kontekstində entrypoint və cmd nədir?

sobes.tech Süni İntellekt

AI-dan cavab

ENTRYPOINT konteyner işə salındıqda icra olunacaq əmri müəyyən edir. Əgər docker run ilə CMD və ya əmrlər parametrləri ötürülərsə, onlar bu əmrlərə arqument kimi əlavə olunur.

CMD ENTRYPOINT üçün standart arqumentlər təmin edir və ya ENTRYPOINT təyin olunmayıbsa, ayrıca bir əməliyyat kimi icra olunur. Konteyner işə salınarkən parametrlər ötürülərsə, onlar CMD dəyərini üstələyir.

Fərqlər:

Xüsusiyyət ENTRYPOINT CMD
Məqsəd Əsas icra olunacaq əmri müəyyən edir Standart arqumentlər və ya əmri təmin edir
Üst-üstə qoyma docker run --entrypoint tələb edir docker run arqumentləri ilə üst-üstə qoyulur
ENTRYPOINT ilə istifadə ENTRYPOINT üçün arqumentlər ENTRYPOINT təyin olunmayıbsa, standart əmri

Nümunələr:

ENTRYPOINTCMD ilə:

# Dockerfile
FROM alpine:latest
ENTRYPOINT ["echo", "Salam"]
CMD ["Dünya!"]

docker run sizin-şəkil icra olunduqda: echo Salam Dünya! icra olunacaq docker run sizin-şəkil Universe! icra olunduqda: echo Salam Universe! icra olunacaq

Yalnız CMD ilə:

# Dockerfile
FROM alpine:latest
CMD ["echo", "Salam Dünya!"]

docker run sizin-şəkil icra olunduqda: echo Salam Dünya! icra olunacaq docker run sizin-şəkil echo Salam Docker! icra olunduqda: CMD üstələnəcək və echo Salam Docker! icra olunacaq

Tövsiyə olunur ki, ENTRYPOINT icra ediləcək fayl üçün istifadə olunsun və CMD bu fayla standart parametrlər ötürmək üçün istifadə olunsun.