Чем отличается *CMD* от *ENTRYPOINT* в Dockerfile?
Краткий ответ
Инструкции CMD и ENTRYPOINT выполняются в момент запуска контейнера, тольо инструкция CMD позволяет переопределить передаваемые команде аргументы.
Пример 1. CMD:
Опишем сборку образа в Dockerfile.
FROM alpine
CMD ["ping", "8.8.8.8"]
В инструкцию CMD передаются 2 аргумента. Выполним сборку образа
docker build -t test . и запустим контейнер.
```
$ docker run test
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=43 time=32.976 ms
64 bytes from 8.8.8.8: seq=1 ttl=43 time=31.998 ms
64 bytes from 8.8.8.8: seq=2 ttl=43 time=31.843 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 31.708/33.3
Ещё вопросы по теме «Docker»
Готовишься к DevOps-собеседованию?Полные разборы вопросов, карточки с интервальным повторением, квизы и песочница с реальными сломанными Linux-серверами — бесплатно после входа.
Открыть тренажёр →