Как взаимодействовать с Docker Engine из программы C? - PullRequest
0 голосов
/ 26 июня 2019

Мне нужно обрабатывать запуск / управление контейнерами Docker из демона, написанного на C. Но SDK, предоставляемый Docker, доступен только для Go и Python.

В настоящее время я обрабатываю это, вызывая команды dockerиспользуя функцию 'system', предоставляемую glibc.Но это всего лишь обходной путь, и он не является чистым решением по сравнению с использованием API.

Есть ли какие-либо привязки C с открытым исходным кодом, доступные для Docker SDK (или), есть ли какая-либо библиотека C для форматирования и отправки запросов REST API / получения и анализа ответов REST API в / из механизма Docker?

Я также рассматриваю возможность написания вспомогательной программы на Голанге, которая будет использовать Docker Go SDK, и я буду общаться с этим помощником из моей программы через некоторый механизм IPC (каналы или очереди сообщений) для выполнения вызова API.Если нет привязок C для SDK, написанных на другом языке программирования, каков эффективный способ использования функций API этого SDK?

Я пытаюсь найти эффективный способзапуск / остановка контейнера, получение списка запущенных контейнеров, получение статистики по конкретному контейнеру и т. д. из программы на языке C, кроме использования утилиты командной строки docker в Linux.

...