GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Rychlý průvodce nástroji Docker Utilities, Daemon a jeho dalšími možnostmi

Úvod

Docker hraje velmi kritickou roli jak formát balení pro aplikace, tak sjednocující rozhraní a metodika, která umožňuje aplikačním týmům vlastnit obrazy kontejnerů ve formátu Docker (Poznámka:Předpokládá se, že včetně všech závislostí). Díky tomu se Docker stal jedním z předních průkopníků v mikroslužbách a přizpůsobení a použití založené na mikroslužbách.

Mnoho nástrojů založených na Dockeru a Dockeru nám pomáhá dosáhnout větší efektivity škálovatelnosti a výkonu tím, že zmenšuje nároky na aplikace prostřednictvím Dockerized kontejnery. V mnoha případech jsou závislosti na úrovni systému omezeny na naprosté minimum, což pomáhá snížit využití paměti v MB (megabajtech).

Všechny tyto aspekty pomohly vytvořit Docker jako jeden z předních kontejnerových nástrojů. Docker má mnoho nástrojů a možností příkazového řádku. Docker Daemon může poskytnout mnoho z těchto dodatečných funkcí, což usnadňuje konfiguraci Dockeru.

Přečtěte si také:Jak nainstalovat Docker (Community Edition) na Ubuntu 16.04 / 18.04 LTS

Doufám, že čtenář/uživatel tohoto článku ví, jak vytvořit spin-off docker-container v jakémkoli daném prostředí Linuxu. Za předpokladu, že jsou popsány některé z následujících zařízení,

Některé z těchto zařízení lze použít pro následující funkce,

  • Zkontrolujte informace o serveru Docker
  • Stáhněte si obrázky a aktualizace dockeru
  • Kontrola kontejnerů
  • Zobrazení a sledování protokolů
  • Sledování různých statistik a podrobností

1) Jak zkontrolovat aktuální verzi dockeru

Znalost verze dockeru je jedním z velmi důležitých aspektů, protože v závislosti na tom je přijímáno mnoho rozhodnutí založených na verzi.

[chráněno e -mailem]:~ $ sudo Docker VersionClient:Verze:18.09.5 API Verze:1.39 Go Version:Go1.10.8 GIT COMUCH:E8FF056 VYBRAT:Čt 11. dubna 04:43:57 2019 OS/Arch:Linux/ AMD64 Experimentální:Falseserver:Docker Engine - Community Engine:Verze:18.09.5 API Verze:1.39 (minimální verze 1.12) GO Verze:Go1.10.8 Git Coumit:E8FF056 Vybudováno:Čt 11. dubna 04:10:53 2019 OS/Arch:linux/amd64  Experimentální:     false[email protected]:~$

Tento výše uvedený výstup poskytuje verze rozhraní API serveru i klienta jako stejné a verze OS a architektury by také měly být stejné. Pokud dojde k nějaké neshodě ve verzích na bázi klienta a serveru, komunikace klient-server selže. Člověk se musí ujistit, jaké jsou podpůrné verze, a podle toho se rozhodovat.

2) Zachycení a analýza informací o serveru

Pomocí informací o dockeru můžeme také najít následující informace. Některé užitečné informace, které můžeme shromáždit, jsou něco jako, který server běží jako backend, která verze jádra to je, který OS a kořenový adresář Docker atd

[e-mail chráněno]:~$ sudo docker infoKontejnery:2 Běží:1 Pozastaveno:0 Zastaveno:1Obrázky:4Verze serveru:18.09.5 Ovladač úložiště:overlay2 Zálohovací systém souborů:extfs Podporuje d_type:true Native Logging Overlay -fileCgroup Driver:cgroupfsPlugins:Volume:lokální síti:hostitelský most macvlan null překrytí Log:awslogs fluentd gcplogs GELF journald json-místního souboru logentries Splunk syslogSwarm:inactiveRuntimes:runcDefault chodu:runcInit Binární:docker-initcontainerd verze:bb71b10fd8f58240ca47fbb579b9d1028eea7c84runc verze:2b18fe1d885ee5083ef9f0838fee39b62d653e30init verze:fec3683Možnosti zabezpečení: apparmor seccomp  Profil:default Verze jádra:4.15.0-20-genericOperační systém:Ubuntu 18.04 LTSOSType:linuxArchitecture:x86_64CPUs:1Celková paměť:6Q2WRUxAW:1.15.0-20-WEi:1.15.0-20-AW94 :QFGI:XYRQ:QUXF:MTXCDocker Root Dir:/var/lib/dockerDebug Mode (klient):falseDebug Mode (server):falseRegistry:https://index.docker.io/ v1/Labels:Experimental:falseInsecure Registries: 127.0.0.0/8Live Restore Enabled:falseProduct License:Community EngineUPOZORNĚNÍ:Žádná podpora swapového limitu[e-mail chráněný]:~$

Všechny výše uvedené informace jsou založeny na způsobu nastavení démona Docker, základní verzi operačního systému a typu systému souborů. To vše lze zachytit pomocí následující sady příkazů

Provedením níže uvedeného příkazu získáte název OS, jeho verzi a kódové jméno

[chráněno e-mailem]:~$ cat /etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=18.04DISTRIB_CODENAME=bionicDISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"[e-mailem chráněno]:~$

nebo

[e-mail chráněn]:~$ cat /etc/*-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=18.04DISTRIB_CODENAME=bionicDISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"NAME="Ubuntu"VERSION="18.04_Typex=deBuntuIDiDonic" BeaubKETS ="Ubuntu 18.04 LTS"VERSION_ID="18.04"HOME_URL="https://www.ubuntu.com/"SUPPORT_URL="https://help.ubuntu.com/"BUG_REPORT_URL="https://bugs.launchpad. net/ubuntu/"PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"VERSION_CODENAME=bionicUBUNTU_CODENAME=bionic[e-mail chráněný]:~$

Chcete-li získat podrobnosti o systému souborů, spusťte příkaz níže:

[e-mail chráněn]:~$ mount | grep "^/dev"/dev/sda1 on / zadejte ext4 (rw,relatime,errors=remount-ro,data=ordered)[e-mail protected]:~$

3) Démon Docker

Démon dockeru hraje velmi zásadní roli v prostředí dockeru jako celku.

Bez pořádného démona bude kompletní docker systém k ničemu. Stav démona lze ověřit pomocí následujícího příkazu

Poznámka :- Za předpokladu, že je provedena správná instalace dockeru

[e-mail chráněn]:~$ stav dokovacího zařízení služby sudo

Pokud je služba docker spuštěna, výstup výše uvedeného příkazu by měl být něco jako níže:

V případě, že služba dockeru není spuštěna, spusťte ji pomocí níže uvedeného příkazu

[chráněno e-mailem]:~$ sudo systemctl start dockeror[e-mailem chráněno]:~$ sudo service docker start[e-mailem chráněno]:~$

Použijte níže „docker ps ” pro výpis běžících kontejnerů

[e-mail chráněno]:~$ sudo docker psCONTAINER ID        OBRÁZEK               PŘÍKAZ             VYTVOŘENO                STAV                                                    

Chcete-li zobrazit seznam všech spuštěných a zastavených kontejnerů, použijte „docker ps -a

[Pre> [Chráněno e -mailem]:~ $ sudo Docker PS -Acontainer ID Image Příkaz vytvořený stavové porty názvy497e6733d760 ubuntu "bash" před 19 minutami (0) před 2 minutami goofy_morse0862fe109f96 Hello -World "/Hello" před 19 minutami (0 před 19 minutami (0 ) před 19 minutami                       vibrant_shannon[e-mail chráněno]:~$

Výchozí kořenový adresář Dockeru je „/var/lib/docker“

[e-mail chráněný]:~$ sudo ls -l /var/lib/dockertotal 48drwx------  2 kořenový adresář 4096 14. dubna 07:00 builderdrwx------  4 kořenový adresář 4096 14. dubna 07 :00 buildkitdrwx------  4 kořenový kořenový adresář 4096 14. dubna 07:09 containerdrwx------  3 kořenový adresář 4096 14. dubna 07:00 imagedrwxr-x---  3 kořenový adresář 4096 14. dubna networkdrwx:00 ------ 16 kořenový kořenový adresář 4096 14. dubna 07:27 overlay2drwx------  4 kořenový adresář 4096 14. dubna 07:00 pluginsdrwx------  2 kořenový adresář 4096 14. dubna 07:27 runtimesdrw ----  2 kořenový kořen 4096 14. dubna 07:00 swarmdrwx------  2 kořenový kořen 4096 14. dubna 07:27 tmpdrwx------  2 kořenový kořen 4096 14. dubna 07:00 trustdrwx--- --  2 kořenový kořenový adresář 4096 14. dubna 07:00 svazky[e-mail chráněný]:~$

Pokud není démon docker spuštěn, lze jej vyvolat pomocí následujícího příkazu

[e-mail chráněn]:~$ sudo dockerd

Výstup z výše uvedeného dockerd příkaz bude něco jako níže:

Přečtěte si také:Jak nainstalovat Docker na CentOS 7

4) Stažení obrazu kontejneru dockeru a kontrola kontejneru

 [email protected]:~ $ sudo Ukotvitelný pull ubuntu:latestUsing default tag:latestlatest:Vytažení z knihovny / ubuntu898c46f3b1a1:Pull complete63366dfa0a50:Pull complete041d4cd74a92:Pull complete6e1bee0f8701:Pull completeDigest:sha256:017eef0b616011647b269b5c65826e2e2ebddbe5d1f8c1e56b3599fb14fabec8Status:Staženo novější obraz pro Ubuntu:Poslední [email protected]:~ $ nejpozději:Vytažení z knihovny / ubuntu898c46f3b1a1:Pull complete63366dfa0a50:Pull complete041d4cd74a92:Pull complete6e1bee0f8701:Pull completeDigest:sha256:017eef0b616011647b269b5c65826e2e2ebddbe5d1f8c1e56b3599fb14fabec8Status:Staženo novější obraz pro ubuntu:poslední 

Spuštění kontejneru, příklad je uveden níže

[Pre> [Chránění e -mailu]:~ $ sudo docker běh -d -t ubuntu/bin/bash58c023f0f5689ff08b858221ca10c985936a8c9dddddd08e84213009facb64724 [e -mail chráněn] /bash"         Před 27 sekundami      Nárůst o 26 sekund                           boring_dijkstra[e-mail protected]:~$

Pojďme si tento kontejner prohlédnout pomocí následujícího příkazu

[chráněno e-mailem]:~ $ sudo Docker Inspect 58C023F0F568 [{"ID":"58C023F0F5689FF08B858221CA10C985936A8C9DDD910" ":":"2019-04-14t000," 2019, ",". ",        "Args":[],        "Stav":{            "Stav":"běží",            "Běží":pravda,             "  , začíná":    false"   false"    false"                   FALSE, "PID":15538, "ExitCode":0, "Error":"", "Startat":"2019-04-14T06:55:27.142274111Z", "dokončení":"0001-01-01T00:00 :00Z "}, "Image":"sha256:94e814e2efa8845d95b2112d54497fbad173e45121ce9255b93401392f538499", "ResolvConfPath":" /var/lib/docker/containers/58c023f0f5689ff08b858221ca10c985936a8c9dd91d08e84213009facb64724/resolv.conf",.......................................... …………

Poznámka:- Kompletní výstup tohoto příkazu zde není zobrazen, protože jeho výstup je příliš velký

5) Vstup do obrazu běžícího kontejneru

Jak je známo, Docker původně používal vše založené na LXC backendu, linuxový příkaz lxc-attach byl používán poměrně dlouho. Ale jakmile byl docker vytvořen jako samostatný balíček a začal používat „libcontainer ” jako výchozí backend se stalo populární použití příkazu „docker exec“

Níže uvedená sada příkazů vysvětluje, jak se přihlásit do kontejneru pomocí příkazového řádku,

:~$ sudo docker  exec -t  

[e-mail chráněný]:~$ sudo docker  exec -t 58c023f0f568 ls -a. .Dockerenv Boot atd. Lib Media OPT Root Sbin Sys usr .. bin dev domácí lib64 mnt proc run srv tmp var [e -mail chráněn]:~ $ sudo docker exec -t 58c023f0f568 ps -efuid pid ppid c stime tty time time time time time time time time time time time time time time time time time time :55 bodů/0    00:00:00 /bin/bashroot        20     0  0 07:17 bodů/1    00:00:00 ps -ef[e-mail chráněný]:~$

Alternativní způsob, jak spouštět příkazy uvnitř kontejneru, je nejprve se přihlásit do kontejneru pomocí „docker connect “ a poté spusťte příkazy

:~$ příloha sudo docker

[e-mail chráněný]:~$ příloha sudo docker 58c023f0f568[e-mail chráněný]:/#

Existují situace, kdy chcete spustit kontejner, připojit k němu svazek a když opustíme kontejner, měl by se automaticky smazat, příklad je uveden níže

[e-mail chráněno]:~$ sudo docker run -it --rm -v /usr/local/bin:/target jpetazzo/nsenter bash[e-mail chráněný]:/src# df -h /target/Filesystem      Velikost  Použité Avail Use% Mounted on/dev/sda1        18G  5.6G   12G  34 % /target[email protected]:/src# exitexit[email protected]:~$

Nyní ověřte, zda je docker odstraněn automaticky, když opustíme kontejner, spusťte „docker ps“

6) Monitoring Docker

Použijte „statistiky dockeru ” k zobrazení využití prostředků všech kontejnerů,

[chráněno e -mailem]:~ $ sudo Docker Statscontainer ID jméno CPU %MEM použití / limit mem %čistý I / o Blok I / O PIDS58C023F0F568 Boring_DiJKSTRA 0,00 %1,059MIB / 1,947GIB 0,05 %4,75KB / 0B 4,74MB / 0B 1Container ID Jméno CPU %MEM použití / limit mem %čistý I / o blok I / O pids58c023f0f568 nud_dijkstra 0,00 %1,059 mib / 1,947Gib 0,05 %4,75 kB / 0B 4,74 MB / 0B 1 [E -mail chráněn]:~ $

7) Události Docker

Zachycení událostí dockeru bude mnohokrát zásadní, protože to poskytne informace o různých operacích a událostech dockeru. Níže je snímek toho samého.

[e-mail chráněný]:~$ sudo docker events2019-04-14T09:29:07.636990738+01:00 image pull wordpress:latest (name=wordpress)2019-04-14T09:29:46.9366764031 volume create 36187e0a44d277439fea0df2446fc44987fa814c52744091929e5c81bd8134e5 (driver =local) 2019-04-14T09:29:46,998798935 + 01:00 kontejner vytvořit b97f6a565c518eb1464cf81e6e09db1acfd84a0fdcbaea94255f1f182d79c058 (image =wordpress, name =friendly_heisenberg) 2019-04-14T09:29:47,000202026 + 01:00 kontejner připojit b97f6a565c518eb1464cf81e6e09db1acfd84a0fdcbaea94255f1f182d79c058 (image =wordpress, název =friendly_heisenberg) 2019-04-14T09:29:47,209257002 + 01:00 síťového připojení 18dd93c3c6fc9ce51a98f7d2359b319db251efcae6b991157965ef727a580702 (kontejner =b97f6a565c518eb1464cf81e6e09db1acfd84a0fdcbaea94255f1f182d79c058, název =most, typ =můstek) 2019-04-14T09:29:47,239846902 + 01:držák 00 objem 36187e0a44d277439fea0df2446fc44987fa814c52744091929e5c81bd8134e5 (kontejner=b97f6a565c518eb1464cf81e6efd855ddb70 r/www/html, řidič =local, propagace =, read/write =true) 2019-04-14t09:29:47,942997316+01:00 start B97F6A565c518En6090F101420901010101409010101400101014001014010. 29:47,944521098 + 01:00 kontejner pro změnu velikosti b97f6a565c518eb1464cf81e6e09db1acfd84a0fdcbaea94255f1f182d79c058 (výška =39, obraz =wordpress, název =friendly_heisenberg, šířka =130) 2019-04-14T09:29:59,829378089 + 01:00 pro matrici b97f6a565c518eb1464cf81e6e09db1acfd84a0fdcbaea94255f1f182d79c058 (EXITCODE =0, obraz =wordpress, název =friendly_heisenberg) 2019-04-14T09:30:00,147435896 + 01:00 sítě odpojení 18dd93c3c6fc9ce51a98f7d2359b319db251efcae6b991157965ef727a580702 (kontejner =b97f6a565c518eb1464cf81e6e09db1acfd84a0fdcbaea94255f1f182d79c058, název =most, typ =můstek) 2019-04-14T09:30:00,845336887 + 01:00 objem odpojení 36187e0a44d277439fea0df2446fc44987fa814c52744091929e5c81bd8134e5 (kontejner=b97f6a565c518eb1464cf81ef4e09d85db1 ovladač ………
Závěr

Kombinace všech těchto příkazů a nástrojů je velmi důležitá pro to, aby se docker a kontejner staly úspěšným prostředím založeným na mikroslužbách. Protože mnoho architektur mikroslužeb potřebuje tyto druhy utilit k ladění, pochopení a získání dalších informací pro každodenní použití, doufám, že tento článek bude hrát roli při pomoci v takových případech.

Přečtěte si také:Jak nainstalovat a používat docker-compose k nasazení kontejnerů v CentOS 7


Docker
  1. Jak nainstalovat Docker a Docker Compose na Debian 11

  2. Jak spustit Jupiter, Keras, Tensorflow a další knihovny ML v Dockeru

  3. Průvodce upgradem na MongoDB 5.0 a Rocket.Chat 4.0 na Dockeru

  1. Spuštění PostgreSQL v Dockeru, Rychlý a praktický průvodce

  2. Co je Docker (a Linux kontejnery?)

  3. Co je Docker, Rozdíl mezi Dockerem a VM, Instalace Dockeru a jeho použití

  1. Linux – „init:Verze 2.86 Reloading“ – příčina a oprava?

  2. Rychlý průvodce používáním Docker Compose

  3. Jak najít úložné zařízení dockeru a jeho velikost (ovladač úložiště mapovače zařízení)