Я делаю скрипт devops, который запускает
docker-compose run --no-deps my_service
По единственной причине выполнения диагностических операций в контейнере без выполнения фактической команды контейнера. (Поскольку это может быть ресурсоемким или может вообще не сработать.)
Я подумал, что переопределю точку входа с неким режимом, который работает вечно.
runs forever
часть важна, потому что если я просто использую echo
или cat
или что-то еще, процесс немедленно завершится, и я не смогу использовать docker exec
в своем контейнере.
Я пытался
--entrypoint "tail -f /dev/null"
Но не повезло. Кажется, что --entrypoint
не позволяет вводить аргументы для вашей команды.
Вы знаете, возможно ли это или нет?
Еще один забавный хак, который я пробовал, сработал --entrypoint yes
, который сделал точку входа Linux yes
утилита, которая просто выводит y
в бесконечном цикле.
Это работало нормально в течение 2 часов, пока у меня не закончилось место на жестком диске и мне не пришлось все удалять.
Если у вас есть идея для обычной команды Linux, такой как yes
, которая просто ждет вечно и не печатает бесконечное количество текста, дайте мне знать.