Следить за журналами контейнера Docker означает постоянно отображать самые последние записи журнала, созданные работающим контейнером. Есть несколько способов добиться этого. Вот несколько примеров кода:
Метод 1. Использование интерфейса командной строки Docker
docker logs -f <container_name_or_id>
Эта команда использует команду logsинтерфейса командной строки Docker с флагом -fдля отслеживания журналов в режиме реального времени для указанного контейнера.
Метод 2: использование Docker Compose
docker-compose logs -f <service_name>
Если вы используете Docker Compose для управления контейнерами, вы можете использовать команду logsс флагом -f, за которым следует имя службы, которую вы хотите использовать. журналы для.
Метод 3. Использование Docker SDK для Python
import docker
client = docker.from_env()
container = client.containers.get('<container_name_or_id>')
logs = container.logs(follow=True)
for line in logs:
print(line.decode().strip())
Этот метод использует Docker SDK для Python для получения объекта-контейнера, а затем непрерывной потоковой передачи журналов, установив для параметра followзначение Trueв logs( )метод.
Метод 4. Использование Docker API с cURL
curl -sS -H "Content-Type: application/json" -X POST --unix-socket /var/run/docker.sock http:/v1.24/containers/<container_id>/logs?stdout=1&stderr=1&follow=1
Этот метод использует cURL для отправки API-запроса демону Docker. Замените фактическим идентификатором контейнера, для которого вы хотите отслеживать журналы.