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:
ENTRYPOINT və CMD 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.