例如docker inspect,支持go格式,
没有指定格式:

  1. # docker inspect xxx |head
  2. [
  3. {
  4. "Id": "2308ce12ad3aef6f81350a10f54edf07f31d0b340b5dbc2af4d1cc9220ebd551",
  5. "Created": "2022-02-07T09:52:54.256212196Z",
  6. "Path": "/sh/start_at_host_data.sh",
  7. "Args": [],
  8. "State": {
  9. "Status": "running",
  10. "Running": true,
  11. "Paused": false,
  12. ……

指定格式:

查看名字、镜像:

  1. # docker inspect --format '{{ .Name }} {{.Image}}' $(docker ps -aq)
  2. /gerrit164 sha256:5bca6530d3ac105a3a98425da0a482bdb42b5d00b36a166bf95604c18566cabd
  3. /es1 sha256:715897d7c63521687493d015c902eb7e9badecd6ad4d0192ce30a594212d28ee

显示挂载路径:

  1. # docker inspect containername -f '{{range .Mounts}}{{printf "%s\t%s\n" .Source .Destination }}{{end}}'
  2. /data/gerrit/docker-config/gerrit/.ssh /home/gerrit/.ssh
  3. /data/docker/volumes/4872e5fc53a0e543438f68fc3190da72ab91cfe1faeb45507a19fcb3e5ea2e5d/_data /var/host_data

比较使用awk:

  1. # /data/showMounts.sh gerrit
  2. [{volume b90e60830e3f305b73aa5cbd799b1cd25a2b0e14b5250ff0bcecfc17cfeb5bbe /var/lib/docker/volumes/b90e60830e3f305b73aa5cbd799b1cd25a2b0e14b5250ff0bcecfc17cfeb5bbe/_data /var/gerrit/cache local true }
  3. {volume 6b5d1fc6b970342e8c2d45c4063825341d9d188867ddf00c7b72b1340c58214e /var/lib/docker/volumes/6b5d1fc6b970342e8c2d45c4063825341d9d188867ddf00c7b72b1340c58214e/_data /var/gerrit/db local true }
  4. {volume 6d17dfee7a88661c503e7ba084a7a8c3503a294d9d6d484bf3f818d03317074d /var/lib/docker/volumes/6d17dfee7a88661c503e7ba084a7a8c3503a294d9d6d484bf3f818d03317074d/_data /var/gerrit/etc local true }
  5. {volume d6e67398107b3b25ea2287d1f834fe42187228723d09841b8977c266d5bff866 /var/lib/docker/volumes/d6e67398107b3b25ea2287d1f834fe42187228723d09841b8977c266d5bff866/_data /var/gerrit/git local true }
  6. {volume 0dfe1cc47a28fd4789fc166df9f25f4705a8cd33f3cb9cfd537ef9e5101fe810 /var/lib/docker/volumes/0dfe1cc47a28fd4789fc166df9f25f4705a8cd33f3cb9cfd537ef9e5101fe810/_data /var/gerrit/index local true }
  7. {bind /data/gerrit-2.13.14 /var/gerrit true rprivate}
  8. {bind /data/gerrit/etc/gerrit.config /var/gerrit/etc/gerrit.config true rprivate}
  9. ]}
  10. [root@dev-code-gerrit-upgrade-2 gerrit]# cat /data/showMounts.sh
  11. docker inspect $1 -f '{{.Mounts}}'|awk -F "}" '{for (i=1;i<=NF;i++){print $i"}"}}'