खोज…


वाक्य - विन्यास

  • डॉकटर निरीक्षण [विकल्प] कंटेनर | छवि [कंटेनर | छवि ...]

कंटेनर की जानकारी लें

आपके द्वारा चलाए जा सकने वाले कंटेनर के लिए सभी जानकारी प्राप्त करने के लिए:

docker inspect <container>

एक कंटेनर से विशिष्ट जानकारी प्राप्त करें

आप कन्टेनर से एक विशेष जानकारी प्राप्त कर सकते हैं:

docker inspect -f '<format>' <container>

उदाहरण के लिए, आप नेटवर्क सेटिंग्स चलाकर प्राप्त कर सकते हैं:

docker inspect -f '{{ .NetworkSettings }}' <container>

तुम भी सिर्फ आईपी पता प्राप्त कर सकते हैं:

docker inspect -f '{{ .NetworkSettings.IPAddress }}' <container>

पैरामीटर -f का अर्थ है प्रारूप और एक गो खाका प्राप्त होगा जो कि प्रारूप के इनपुट के रूप में अपेक्षित है, लेकिन यह एक सुंदर रिटर्न नहीं लाएगा, इसलिए प्रयास करें:

docker inspect -f '{{ json .NetworkSettings }}' {{containerIdOrName}}

json कीवर्ड रिटर्न JSON के रूप में लाएगा।

तो खत्म करने के लिए, एक छोटी सी टिप आउटपुट JSON को प्रारूपित करने के लिए वहां अजगर का उपयोग करने के लिए है:

docker inspect -f '{{ json .NetworkSettings }}' <container> | python -mjson.tool

और वोइला, आप डॉकटर निरीक्षण पर कुछ भी क्वेरी कर सकते हैं और इसे अपने टर्मिनल में सुंदर बना सकते हैं।

आदेश आउटपुट docker inspect करने में मदद करने के लिए " jq " नामक एक उपयोगिता का उपयोग करना भी संभव है।

docker inspect -f '{{ json .NetworkSettings }}' aa1 | jq [.Gateway]

उपरोक्त कमांड निम्नलिखित आउटपुट लौटाएगा:

[
  "172.17.0.1"
]

यह आउटपुट वास्तव में एक तत्व से युक्त एक सूची है। कभी-कभी, docker inspect कई तत्वों की एक सूची प्रदर्शित करता है, और आप एक विशिष्ट तत्व को संदर्भित करना चाह सकते हैं। उदाहरण के लिए, यदि Config.Env में कई तत्व हैं, तो आप इस सूची के पहले तत्व को index का उपयोग करके देख सकते हैं:

docker inspect --format '{{ index (index .Config.Env) 0 }}' <container>

पहला तत्व शून्य पर अनुक्रमित है, जिसका अर्थ है कि इस सूची का दूसरा तत्व सूचकांक 1 :

docker inspect --format '{{ index (index .Config.Env) 1 }}' <container>

len का उपयोग करके सूची के तत्वों की संख्या प्राप्त करना संभव है:

docker inspect --format ‘{{ len .Config.Env }}’ <container>

और नकारात्मक संख्याओं का उपयोग करते हुए, सूची के अंतिम तत्व को संदर्भित करना संभव है:

docker inspect –format “{{ index .Config.Cmd $[$(docker inspect –format ‘{{ len .Config.Cmd }}’ <container>)-1]}}” <container>

कुछ docker inspect सूचना कुंजी के एक शब्दकोश के रूप में आते हैं: मूल्य, यहाँ एक docker inspect एक्स्ट्रेक्ट है जो एक जीस / स्पॉट रनिंग कंटेनर docker inspect

"Config": { "Hostname": "8255f4804dde", "Domainname": "", "User": "spotify", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "DISPLAY=unix:0", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "HOME=/home/spotify" ], "Cmd": [ "-stylesheet=/home/spotify/spotify-override.css" ], "Image": "jess/spotify", "Volumes": null, "WorkingDir": "/home/spotify", "Entrypoint": [ "spotify" ], "OnBuild": null, "Labels": {} },

इसलिए मुझे पूरे कॉन्फिगरेशन सेक्शन के मान मिलते हैं

docker inspect -f '{{.Config}}' 825

{8255f4804dde spotify false false false map[] false false false [DISPLAY=unix:0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/home/spotify] [-stylesheet=/home/spotify/spotify-override.css] false jess/spotify map[] /home/spotify [spotify] false [] map[] }

लेकिन यह भी एक ही क्षेत्र, config.Image के मूल्य की तरह

docker inspect -f '{{index (.Config) "Image" }}' 825

jess/spotify

या config.Cmd

docker inspect -f '{{.Config.Cmd}}' 825

[-stylesheet=/home/spotify/spotify-override.css]

एक छवि का निरीक्षण करें

एक छवि का निरीक्षण करने के लिए, आप रिपॉजिटरी और टैग से मिलकर छवि आईडी या छवि नाम का उपयोग कर सकते हैं। कहो, आपके पास CentOS 6 बेस इमेज है:

➜  ~ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              centos6             cf2c3ece5e41        2 weeks ago         194.6 MB

इस स्थिति में आप निम्न में से कोई भी चला सकते हैं:

  • ➜ ~ docker inspect cf2c3ece5e41
  • ➜ ~ docker inspect centos:centos6

ये दोनों कमांड आपको JSON सरणी में उपलब्ध सभी जानकारी देंगे:

[
    {
        "Id": "sha256:cf2c3ece5e418fd063bfad5e7e8d083182195152f90aac3a5ca4dbfbf6a1fc2a",
        "RepoTags": [
            "centos:centos6"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "",
        "Created": "2016-07-01T22:34:39.970264448Z",
        "Container": "b355fe9a01a8f95072e4406763138c5ad9ca0a50dbb0ce07387ba905817d6702",
        "ContainerConfig": {
            "Hostname": "68a1f3cfce80",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) CMD [\"/bin/bash\"]"
            ],
            "Image": "sha256:cdbcc7980b002dc19b4d5b6ac450993c478927f673339b4e6893647fe2158fa7",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "build-date": "20160701",
                "license": "GPLv2",
                "name": "CentOS Base Image",
                "vendor": "CentOS"
            }
        },
        "DockerVersion": "1.10.3",
        "Author": "https://github.com/CentOS/sig-cloud-instance-images",
        "Config": {
            "Hostname": "68a1f3cfce80",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "Image": "sha256:cdbcc7980b002dc19b4d5b6ac450993c478927f673339b4e6893647fe2158fa7",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "build-date": "20160701",
                "license": "GPLv2",
                "name": "CentOS Base Image",
                "vendor": "CentOS"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 194606575,
        "VirtualSize": 194606575,
        "GraphDriver": {
            "Name": "aufs",
            "Data": null
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:2714f4a6cdee9d4c987fef019608a4f61f1cda7ccf423aeb8d7d89f745c58b18"
            ]
        }
    }
]

मुद्रण विशिष्ट informations

docker inspect --format विकल्प के माध्यम से Go Templates inspect समर्थन करता है। यह लिपियों / sed / grep पारंपरिक साधनों का सहारा लिए बिना, लिपियों में बेहतर एकीकरण की अनुमति देता है।

कंटेनर आंतरिक IP प्रिंट करें :

docker inspect --format '{{ .NetworkSettings.IPAddress }}' 7786807d8084

यह लोड-बैलेंसर ऑटो-कॉन्फ़िगरेशन के प्रत्यक्ष नेटवर्क एक्सेस के लिए उपयोगी है।

कंटेनर init पीआईडी प्रिंट करें :

docker inspect --format '{{ .State.Pid }}' 7786807d8084

strace जैसे उपकरण /proc या उपकरण के माध्यम से गहन निरीक्षण के लिए यह उपयोगी है।

उन्नत स्वरूपण :

docker inspect --format 'Container {{ .Name }} listens on {{ .NetworkSettings.IPAddress }}:{{ range $index, $elem := .Config.ExposedPorts }}{{ $index }}{{ end }}' 5765847de886 7786807d8084

उत्पादन होगा:

Container /redis listens on 172.17.0.3:6379/tcp
Container /api listens on 172.17.0.2:4000/tcp

कंटेनर लॉग का डिबगिंग का उपयोग करते हुए निरीक्षण करें

कंटेनर लॉग को डीबग करने के लिए docker inspect कमांड का उपयोग किया जा सकता है।

कंटेनर को डिबग करने के लिए कंटेनर के स्टडआउट और स्टैडर को चेक किया जा सकता है, जिसका स्थान docker inspect का उपयोग करके प्राप्त किया जा सकता है।

आदेश: docker inspect <container-id> | grep Source

यह कंटेनरों के स्थान को stdout और stderr देता है।

एक चल रहे कंटेनर के stdout / stderr की जाँच करना

docker logs --follow <containerid>

यह रनिंग कंटेनर के आउटपुट को पूंछता है। यह उपयोगी है यदि आपने डॉकटर डेमन पर लॉगिंग ड्राइवर स्थापित नहीं किया है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow