Red Hat Training

A Red Hat training course is available for RHEL 8

3.2.2. Inspeção de recipientes

Para inspecionar os metadados de um contêiner existente, use o comando podman inspect. Você pode mostrar todos os metadados ou apenas os metadados selecionados para o contêiner. Por exemplo, para mostrar todos os metadados de um contêiner selecionado, digite:

# podman inspect 74b1da000a11
    ...
  "ID": "74b1da000a114015886c557deec8bed9dfb80c888097aa83f30ca4074ff55fb2",
  "Created": "2018-11-13T10:30:31.884673073-05:00",
  "Path": "/bin/rsyslog.sh",
  "Args": [
       "/bin/rsyslog.sh"
  ],
  "State": {
       OciVersion": "1.0.1-dev",
       Status": "running",
       Running": true,
    ...

Você também pode usar a inspeção para retirar determinados pedaços de informação de um contêiner. As informações são armazenadas em uma hierarquia. Portanto, para ver o endereço IP do contêiner (IPAddress em NetworkSettings), use a opção --format e a identidade do contêiner. Por exemplo, o endereço IP do container:

# podman inspect --format='{{.NetworkSettings.IPAddress}}' 74b1da000a11
10.88.0.31

Exemplos de outras informações que você pode querer inspecionar incluem .Path (para ver o comando rodar com o contêiner), .Args (argumentos para o comando), .Config.ExposedPorts (portos TCP ou UDP expostos do contêiner), .State.Pid (para ver o id do processo do contêiner) e .HostConfig.PortBindings (mapeamento do porto do contêiner para o host). Aqui está um exemplo de .State.Pid e .State.StartedAt:

# podman inspect --format='{{.State.Pid}}' 74b1da000a11
19593
# ps -ef | grep 19593
root     19593 19583  0 10:30 ?        00:00:00 /usr/sbin/rsyslogd -n
# podman inspect --format='{{.State.StartedAt}}' 74b1da000a11
2018-11-13 10:30:35.358175255 -0500 EST

No primeiro exemplo, você pode ver o ID do processo do executável contentorizado no sistema hospedeiro (PID 19593). O comando ps -ef confirma que é o daemon rsyslogd em execução. O segundo exemplo mostra a data e a hora em que o contêiner foi executado.