Повторное введение проверок работоспособности с помощью depend_on в docker compose — это здорово. Серьезно устал писать проверки работоспособности в каждый подчиненный контейнер, особенно в такие вещи, как контейнер инициализации базы данных.
Тем не менее, кажется, что как только я включаю проверку работоспособности/зависит от нее, весь вывод из этих контейнеров буферизуется до тех пор, пока проверка работоспособности не завершится успешно. Хуже — если контейнер по какой-то причине не запускается, вывод проглатывается вообще, и приходится ковыряться с логи докера
чтобы получить вывод.
Итак, если у меня есть файл для создания докеров, что-то вроде:
MySQL:
изображение: MySQL: 8.0
...
проверка состояния здоровья:
test: [ "CMD", "mysql", "-u", "имя пользователя", "--password=пароль", "-e", "показать базы данных;" ]
интервал: 10 с
тайм-аут: 2 с
повторы: 8640
начальный_период: 20 сек.
...
проверка здоровья-проверка:
изображение: центос:8
зависит от:
MySQL:
условие: service_healthy
команда: [ "-c", "echo \"mysql up\"" ]
точка входа: "баш"
Есть ли способ получить вывод контейнера mysql и Health-Check-Check для составления stdout?
- а) до завершения проверки работоспособности (т. е. без буферизации)
- б) независимо от успеха/неудачи проверки работоспособности