docker inspect to twoja lupa do zaglądania pod maskę Dockera. Zwraca pełny, surowy obraz JSON ze wszystkim, co Docker wie o danym kontenerze lub obrazie: konfigurację sieci, zamontowane wolumeny, zmienne środowiskowe, stan procesu, restart policy, adresy IP, etykiety i kilkadziesiąt innych pól. Gdy kontener się wykłada, port nie odpowiada albo nie wiesz, jaki adres IP dostał w sieci bridge — zaczynasz właśnie od tej komendy, zamiast zgadywać.
Składnia i najważniejsze opcje
Podstawowa forma to docker inspect [OPCJE] NAZWA|ID [NAZWA|ID...]. Możesz podać kilka obiektów naraz, a dostaniesz tablicę JSON-ów.
-f, --format— formatuje wyjście szablonem Go zamiast wypluwać cały JSON; pozwala wyciągnąć jedno konkretne pole.-s, --size— dla kontenerów dokłada rozmiar warstw (polaSizeRwiSizeRootFs).--type— wymusza typ obiektu, np.--type containeralbo--type image, gdy nazwa jest niejednoznaczna.
To w zasadzie wszystkie flagi, jakie ta komenda ma — cała jej moc siedzi w --format i w znajomości struktury JSON-a, po którym nawigujesz kropkami.
Przykłady użycia
docker inspect nginx— wyrzuca pełny JSON. Uwaga: jeśli istnieje i obraz, i kontener o tej nazwie, Docker domyślnie pokaże kontener.docker inspect -f '{{.State.Status}}' web— zwraca sam status, np.runningalboexited, bez przewijania ekranu.docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web— wyciąga adres IP kontenera; klasyk przy debugowaniu sieci.docker inspect -f '{{json .Mounts}}' db— pokazuje listę zamontowanych wolumenów jako JSON, gdy chcesz sprawdzić, gdzie wylądowały dane.docker inspect --type image -s ubuntu:22.04— wymusza spojrzenie na obraz i dorzuca jego rozmiar.
Częste błędy i pułapki
Najczęstsza wpadka to mylenie kontenera z obrazem. docker inspect obsługuje oba typy, ale struktura JSON-a jest zupełnie inna — pole .State istnieje tylko dla kontenerów, a .RootFS dla obrazów. Jeśli twój szablon zwraca pusto, prawdopodobnie celujesz w nieistniejące pole. Druga pułapka: nazwy pól są case-sensitive i pisane PascalCase (.Config.Env, nie .config.env). Trzecia: w PowerShellu i cmd cudzysłowy w szablonach Go potrafią się gryźć — na Windowsie często trzeba użyć podwójnych cudzysłowów i uważać na nawiasy klamrowe. I pamiętaj, że to polecenie tylko czyta — niczego nie zmienia, więc możesz nim sypać bez obaw o produkcję.
Powiązane komendy: docker ps (lista kontenerów i ich ID), docker logs (logi kontenera), docker stats (zużycie zasobów na żywo) oraz docker network inspect i docker volume inspect do grzebania w sieciach i wolumenach.