Red Hat Training
A Red Hat training course is available for RHEL 8
12.3. Executando o Podman API manualmente
Este procedimento descreve como executar o Podman API. Isto é útil para depuração de chamadas API, especialmente quando se usa a camada de compatibilidade Docker.
Pré-requisitos
O pacote
podman-remote
está instalado.# yum instalar podman-remote
Procedimento
Execute o serviço para o REST API:
# podman system service -t 0 --log-level=debug
-
O valor de 0 significa que não há timeout. O ponto final padrão para um serviço de raiz é
unix:/run/podman/podman.sock
. -
A opção
--log-level <level>
define o nível de extração. Os níveis padrão de extração sãodebug
,info
,warn
,error
,fatal
, epanic
.
-
O valor de 0 significa que não há timeout. O ponto final padrão para um serviço de raiz é
Em outro terminal, exibir informações do sistema Podman. O comando
podman-remote
, ao contrário do comando normalpodman
, comunica-se através do soquete Podman:# podman-remote info
Para solucionar problemas na API do Podman e exibir solicitações e respostas, use o comando
curl
. Para obter as informações sobre a instalação do Podman no servidor Linux em formato JSON:# curl -s --unix-socket /run/podman/podman.sock http://d/v1.0.0/libpod/info | jq { "host": { "arch": "amd64", "buildahVersion": "1.15.0", "cgroupVersion": "v1", "conmon": { "package": "conmon-2.0.18-1.module+el8.3.0+7084+c16098dd.x86_64", "path": "/usr/bin/conmon", "version": "conmon version 2.0.18, commit: 7fd3f71a218f8d3a7202e464252aeb1e942d17eb" }, … "version": { "APIVersion": 1, "Version": "2.0.0", "GoVersion": "go1.14.2", "GitCommit": "", "BuiltTime": "Thu Jan 1 01:00:00 1970", "Built": 0, "OsArch": "linux/amd64" } }
Um utilitário
jq
é um processador JSON de linha de comando.Puxe a imagem do recipiente
registry.access.redhat.com/ubi8/ubi
:# curl -XPOST --unix-socket /run/podman/podman.sock -v 'http://d/v1.0.0/images/create?fromImage=registry.access.redhat.com%2Fubi8%2Fubi' * Trying /run/podman/podman.sock... * Connected to d (/run/podman/podman.sock) port 80 (#0) > POST /v1.0.0/images/create?fromImage=registry.access.redhat.com%2Fubi8%2Fubi HTTP/1.1 > Host: d > User-Agent: curl/7.61.1 > Accept: / > < HTTP/1.1 200 OK < Content-Type: application/json < Date: Tue, 20 Oct 2020 13:58:37 GMT < Content-Length: 231 < {"status":"pulling image () from registry.access.redhat.com/ubi8/ubi:latest, registry.redhat.io/ubi8/ubi:latest","error":"","progress":"","progressDetail":{},"id":"ecbc6f53bba0d1923ca9e92b3f747da8353a070fccbae93625bd8b47dbee772e"} * Connection #0 to host d left intact
Exibir a imagem puxada:
# curl --unix-socket /run/podman/podman.sock -v 'http://d/v1.0.0/libpod/images/json' | jq * Trying /run/podman/podman.sock... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to d (/run/podman/podman.sock) port 80 (0) > GET /v1.0.0/libpod/images/json HTTP/1.1 > Host: d > User-Agent: curl/7.61.1 > Accept: / > < HTTP/1.1 200 OK < Content-Type: application/json < Date: Tue, 20 Oct 2020 13:59:55 GMT < Transfer-Encoding: chunked < { [12498 bytes data] 100 12485 0 12485 0 0 2032k 0 --:--:-- --:--:-- --:--:-- 2438k * Connection #0 to host d left intact [ { "Id": "ecbc6f53bba0d1923ca9e92b3f747da8353a070fccbae93625bd8b47dbee772e", "RepoTags": [ "registry.access.redhat.com/ubi8/ubi:latest", "registry.redhat.io/ubi8/ubi:latest" ], "Created": "2020-09-01T19:44:12.470032Z", "Size": 210838671, "Labels": { "architecture": "x86_64", "build-date": "2020-09-01T19:43:46.041620", "com.redhat.build-host": "cpt-1008.osbs.prod.upshift.rdu2.redhat.com", ... "maintainer": "Red Hat, Inc.", "name": "ubi8", ... "summary": "Provides the latest release of Red Hat Universal Base Image 8.", "url": "https://access.redhat.com/containers//registry.access.redhat.com/ubi8/images/8.2-347", ... }, "Names": [ "registry.access.redhat.com/ubi8/ubi:latest", "registry.redhat.io/ubi8/ubi:latest" ], ... ] } ]
Recursos adicionais
- Para mais informações sobre o Podman 2.0 API, veja a documentação do Podman v2.0 RESTful API.
- Para mais exemplos de como usar o Podman 2.0 API, veja o Sneak peek: O novo artigo REST API da Podman, de Tom Sweeney.
- Para exemplos de utilização do Podman 2.0 API com Python e Bash, veja o artigo Exploring Podman RESTful API usando Python e Bash de Jhon Honce.
-
Para mais informações sobre o comando
podman system service
, consulte a página de manualpodman-system-service
.