Docker Inspect - Format Memo

(Es wurde auf halbem Weg im Entwurf von Qiita belassen. Es ist ein Durcheinander, also werde ich es entsprechend aktualisieren.)

Verwenden Sie --format, um alle gewünschten Informationen von Docker Inspect abzurufen.

Häufig verwendetes Format (für mich)

docker inspect --format "\
host:{{.Name}} \
ip: {{.NetworkSettings.IPAddress}} \
gw: {{.NetworkSettings.Gateway}} \
port [host]: {{.NetworkSettings.Ports}}" $(docker ps -q)

Ergebnis

host:/container-name \
ip: 172.17.0.2 \
gw: 172.17.0.1 \
port [host]: map[10010/tcp:[] 22/tcp:[{0.0.0.0 12223}] 3000/tcp:[{0.0.0.0 3000}] 80/tcp:[]]

Nur IP

PS C:\Users\name> docker inspect $(docker ps -q) | jq -r '.[].NetworkSettings.Networks.bridge.IPAddress'
172.17.0.3
172.17.0.2

IP und Name

PS C:\Users\name> docker inspect $(docker ps -q) | jq -r '.[].Name, .[].NetworkSettings.Networks.bridge.IPAddress'
/api-test2
/api-test
172.17.0.3
172.17.0.2

Formen und nehmen

PS C:\Users\name> docker inspect $(docker ps -q) | jq -r '.[] | { Name: .Name, IP: .NetworkSettings.Networks.bridge.IPAddress }'
{
  "Name": "/api-test2",
  "IP": "172.17.0.3"
}
{
  "Name": "/api-test",
  "IP": "172.17.0.2"
}

Es scheint, dass Sie verschiedene Dinge tun können

PS C:\Users\name> docker inspect $(docker ps -q) | jq '.[] | {moge: {hoge: { Name: .Name, IP: .NetworkSettings.Networks.bridge.IPAddress }}}'
{
  "moge": {
    "hoge": {
      "Name": "/api-test2",
      "IP": "172.17.0.3"
    }
  }
}
{
  "moge": {
    "hoge": {
      "Name": "/api-test",
      "IP": "172.17.0.2"
    }
  }
}

Recommended Posts

Docker Inspect - Format Memo
Docker-Memo
Docker-Tutorial (Memo)
Docker-Betriebsnotiz
Docker x Rails 6 (Memo)
Docker Machine-Befehlsnotiz
Konstruktionsnotiz für die MySQL 5.7 (Docker) -Umgebung
Redmine (Docker) Umgebungskonstruktionsnotiz
Docker-Ausführungsnotiz für mich zusammengestellt
Docker
Installieren Sie Docker mit WSL2 Memo ([Teil 2] Docker-Einführung)