Junior — Middle
Кадрҳои натиҷаҳои интизоршаванда дар истифодаи ҳамзамон дар Dockerfile дар ENTRYPOINT ва CMD чӣ гуна метавонанд бошанд?
sobes.tech AI
Ҷавоб аз AI
Дар Dockerfile, дастурҳои ENTRYPOINT ва CMD дар якҷоягӣ муайян мекунанд, ки кадом команда ва бо кадом аргументҳо контейнер ҳангоми оғоз кардан иҷро хоҳад шуд.
ENTRYPOINTкомандаи асосиро муайян мекунад, ки ҳамеша иҷро мешавад.CMDаргументии пешфарз бароиENTRYPOINTё, агарENTRYPOINTмуайян нашуда бошад, командаи пешфарзро муайян мекунад.
Агар ҳар ду дастур ҳамзамон истифода шаванд, ҳангоми оғоз кардани контейнер команда чунин шакл мегирад:
ENTRYPOINT + CMD
Масалан:
ENTRYPOINT ["python"]
CMD ["app.py"]
Ҳангоми оғоз кардани контейнер, командаи python app.py иҷро мешавад.
Агар дар вақти оғоз кардани контейнер аргументҳои худро гузоред, онҳо CMD-ро иваз мекунанд, аммо ENTRYPOINT-ро не.
Бинобар ин, ENTRYPOINT файлро, ки бояд иҷро шавад, муайян мекунад ва CMD параметрҳои пешфарзро, ки метавонанд иваз шаванд, муайян мекунад.