Вызовите API Docker без демона Docker

Мне было интересно, есть ли способ сделать звонок в Docker API без docker daemon,

Я просмотрел их документы и немного исходного кода за Docker CLI и не смог найти ответ.

Я хочу сделать HTTP/HTTPS-вызов напрямую в Docker API! Я не хочу устанавливать docker CLI. Это как-то возможно, и вы можете привести пример?

РЕДАКТИРОВАТЬ:

Я хочу сделать API-интерфейс Docker Registry без необходимости установки docker проверить учетные данные, которые я бы позже использовал для docker login команда.

2 ответа

Я думаю, что ваш вопрос немного запутан. Вы не можете сделать вызов Docker API без демона Docker, потому что API - это демон (или, по крайней мере, демон предоставляет API).

Конечно, вы можете делать запросы (контролировать) API / демон без клиента Docker. Просто запускайте ваши запросы непосредственно в сокет (unix:///var/run/docker.sock). Или, если вы хотите выставить его как HTTP(рекомендуется S), вы можете сделать это, изменив параметры запуска демона и вместо этого отправив запрос по HTTP(S) на этот адрес.

docker CLI <==[ Docker Engine API ]==> dockerd

Docker CLI взаимодействует с демоном Docker с помощью API Docker Engine. Последняя версия v1.41

CLI и демон не обязательно должны находиться на одном компьютере. Установив контекст докера, вы можете направить интерфейс командной строки докера для связи с удаленным демоном докера, следовательно, без локальной установки Docker. Точно так же, если вы выполняете вызовы API Docker Engine, используя curlили любой другой SDK, вы можете использовать unix:///var/run/docker.sock для локального демона (если он установлен) или URL-адрес удаленного демона.

dockerd <==[ API реестра Docker ]==> Реестр Docker

Демон docker взаимодействует с реестром Docker с помощью API Docker Registry. Последняя версия v2. А docker pull alpineсообщает демону в текущем контексте выполнить вызов Docker Registry API к https://registry-1.docker.io/v2конечная точка в DockerHub, а docker pull registry.gitlab.com/username/image:tagговорит демону выполнить вызов Docker Registry API к https://registry.gitlab.com/v2конечная точка в вашем частном реестре контейнеров GitLab.

Другие вопросы по тегам