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

20 užitečných příkladů příkazů Docker v Linuxu

Kontejner Docker je v současnosti jednou z nejvíce se rozvíjejících technologií. Docker kontejnery se obecně používají na platformě CI/CD (Continuous Integration/Continuous Deployment). Kontejnery jsou lehké virtuální počítače (virtuální stroje), které využívají základní zdroje hypervizorů, jako jsou (RAM, CPU, HDD a jádro).

Příkaz Docker se používá ke správě kontejnerů a obrázků z příkazového řádku. V tomto článku se budeme zabývat 20 užitečnými příklady příkazů docker v Linuxu. Předpokládám, že docker je již nainstalován ve vašem systému Linux a váš běžný uživatel je přidán do skupiny dockerů.

1) Ověřte verzi Docker

Prvním důležitým úkolem při práci na kontejnerech dockeru je znát verzi dockeru. Verzi zjistíte spuštěním příkazu docker

$ docker --version
Docker version 20.10.12, build e91ed57
$

2) Zobrazení informací o celém systému

Příkaz „docker info“ se používá k zobrazení informací o celém systému, jako je kořenový adresář Docker, verze operačního systému, verze jádra, verze Dockeru, RAM, CPU a registr Docker.

$ docker info

3) Prohledejte obrázky Docker

Pomocí  příkazu „docker search“ můžeme prohledávat obrázky kontejneru dockeru z registru docker hub. Předpokládejme, že chci prohledat nejnovější obrázky dockeru nginx.

$ docker search nginx

Výstup výše uvedeného příkazu bude vypadat následovně,

4) Stáhnout obrázky kontejnerů Docker

Příkaz Docker pull se používá ke stažení obrázků kontejneru z registru docker hub.

Syntaxe:

$ docker pull

Příkaz Docker pull se vždy snaží stáhnout nejnovější verzi obrázku, i když můžeme určit konkrétní verzi obrázku. Předpokládejme, že chci stáhnout nejnovější verzi obrazu rsyslog

$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
5eb5b503b376: Pull complete
1ae07ab881bd: Pull complete
78091884b7be: Pull complete
091c283c6a66: Pull complete
55de5851019b: Pull complete
b559bad762be: Pull complete
Digest: sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
$

Stažení konkrétního obrázku na základě verze, předpokládejme, že chceme stáhnout obrázek dockeru Ubuntu:20:04, spustit

$ docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
08c01a0ec47e: Pull complete
Digest: sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
$

5) Zobrazit stažené obrázky kontejnerů Docker

Protože víme, že kořenový adresář dockeru je „/var/lib/docker“, takže kdykoli stáhneme obrázky pomocí příkazu docker pull, všechny obrázky se uloží do kořenového adresáře dockeru.

Chcete-li zobrazit všechny stažené obrazy kontejneru dockeru, spusťte

$ docker image ls
or 
$ docker images

Výstup

6) Spusťte Docker Container

Kontejnery se spouštějí příkazem ‚docker run‘, předpokládejme, že chci spustit kontejner z obrazu nginx.

$ docker run -it -p 9000:80 --name=myapp nginx

výstup

Výše spustí kontejner s názvem „myapp“ a také nastavíme pravidlo pat takovým způsobem, že pokud jakýkoli požadavek přijde na port 9000 na hostiteli dockeru, bude tento požadavek přesměrován do kontejneru myapp na portu 80. Pokud jste si všimli, že konzoli získáme přímo po provedení příkazu. Chcete-li kontejner zastavit / vypnout, zadejte příkaz exit a chcete-li se z kontejneru dostat, aniž byste jej zastavili, zadejte „ctrl+p+q“

Nyní můžete přistupovat k aplikaci nginx na portu 9000 pomocí příkazu curl,

$ curl http://<Docker-Host-IP-Address>:9000/

7) Spusťte kontejner v režimu odpojení

Kontejner můžeme spustit v režimu odpojení pomocí volby -d v příkazu „spuštění dockeru“. Režim odpojení zde znamená, že po provedení příkazu spuštění dockeru se zobrazí příkazový řádek. Příklad je uveden níže,

$ docker run -it -d -p 9080:80 --name=myapp2 httpd
f7dc2ece64708a9de5e53f341b0c7d17ac9189fb7c99079ad8744348bc5a6faa
$

8) Zobrazit všechny běžící kontejnery

Příkaz Run ‚docker ps‘ se používá k zobrazení všech spuštěných kontejnerů

$ docker ps

Chcete-li zobrazit všechny spuštěné spolu s ukončenými nebo zastavenými kontejnery, spusťte

$ docker ps -a

9)  Přístup ke konzole kontejneru

Chcete-li získat přístup ke konzole kontejneru, spusťte příkaz „docker exec“

[email protected]:~$ docker exec -it myapp /bin/bash
[email protected]:/#

Chcete-li opustit konzolu, zadejte příkaz exit

10) Spuštění, zastavení, restartování a zabití kontejnerů

Stejně jako virtuální stroje můžeme spouštět, zastavovat a restartovat kontejnery dockerů.

Použijte níže uvedený příkaz k zastavení běžícího kontejneru

$ docker stop myapp2
myapp2
$

Místo názvu kontejneru můžeme také použít id kontejneru

Ke spuštění kontejneru použijte níže uvedený příkaz.

$ docker start myapp2
myapp2
$

Pomocí níže uvedeného příkazu restartujte kontejner.

$ docker restart myapp2
myapp2
$

Stejně jako proces můžeme také zabít kontejner, použijte příkaz níže k zabití kontejneru.

[email protected]:~$ docker kill myapp2
myapp2
[email protected]:~$

11) Odebrat kontejner

Docker Container se odstraní nebo odstraní pomocí příkazu „docker rm“. ‘docker rm’ bude fungovat, pouze když je docker zastaven/vypnut.

Syntaxe:

$ docker rm {container_name_OR_container_id}

$ docker stop test-app
test-app
$ docker rm test-app
test-app
$

Chcete-li násilně odstranit běžící kontejner, použijte volbu „-f“ v příkazu docker rm. Příklad je uveden níže

$ docker rm -f nginx-app

12) Odebrat obrázky kontejneru Docker

Stejně jako kontejnery můžeme také odstranit nebo odstranit obrázky dockeru. Příkaz „docker rmi“ se používá k odstranění obrázků kontejneru docker.

Předpokládejme, že chceme smazat docker image ‚Ubuntu:20.04‘, spusťte

$ docker rmi ubuntu:20.04
Untagged: ubuntu:20.04
Untagged: [email protected]:669e010b58baf5beb2836b253c14f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db831e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f629593310578d2
$

Ve výše uvedeném příkazu můžeme místo názvu obrázku použít id obrázku

$ docker rmi 54c9d81cbb44

13)  Uložit a načíst obrázek kontejneru dockeru

Chcete-li uložit obrázek dockeru do souboru tar, použijte příkaz „docker save“, příklad je uveden níže:

$ docker save nginx -o mynginx.tar
$ ls -l mynginx.tar
-rw------- 1 sysops sysops 145931776 Feb 5 10:30 mynginx.tar
$

Chcete-li načíst obrázek dockeru ze souboru tar, použijte příkaz ‚docker load‘

$ docker load -i mynginx.tar
Loaded image: nginx:latest
$

Poznámka:Tyto příkazy jsou užitečné, když chceme přenést obraz dockeru z jednoho hostitele Dockeru do druhého.

14) Zkopírujte soubory/složku do kontejneru

Soubory nebo složky můžeme zkopírovat do kontejneru z hostitele dockeru pomocí příkazu „docker cp“. V následujícím zkopírujeme složku „mycode“ do kontejneru myapp

$ docker cp mycode myapp:/tmp

15) Zobrazit historii obrázku Docker

Historie obrázku Dockeru zde znamená, jaké příkazy se provádějí při vytváření obrázků dockeru, tyto příkazy můžeme zobrazit pomocí ‚historie dockeru‘

Syntaxe:#

$ historie dockeru {Image_Name_OR_Image_id}

$ docker history nginx

16) Zobrazení protokolů z kontejneru

Můžeme prohlížet protokoly z kontejnerů, aniž bychom se do nich museli přihlašovat, příkaz Spustit ‚docker logs‘

Syntaxe:

$ docker logs {container_name_or_container_id}

$ docker logs myapp

Chcete-li zobrazit živé protokoly, použijte volbu „-f“ v příkazu docker logs

$ docker logs -f myapp

Chcete-li zobrazit posledních 10 protokolů z kontejneru, spusťte

$ docker logs --tail 10 myapp

17) Zobrazit statistiky využití zdrojů v kontejnerech

Chcete-li zobrazit využití CPU, paměti a síťového I/O všech kontejnerů, spusťte příkaz ‘docker stats’

$ docker stats

Výše uvedený příkaz zobrazí živé vysílání statistik využití zdrojů všech kontejnerů.

Chcete-li zobrazit statistiky konkrétního kontejneru, spusťte statistiky dockeru následované kontejnerem

$ docker stats myapp

Statistiky využití zdrojů bez živého vysílání

$ docker stats --no-stream

Spuštěné procesy kontejneru můžeme zobrazit pomocí ‘docker top ‘ příkaz.

Syntaxe:#

docker top {Container_Name_OR_ID}

$ docker top myapp

18) Zobrazit IP adresu kontejneru

Nízkoúrovňové informace o kontejneru se zobrazují pomocí příkazu „docker inspect“. IP adresu kontejneru můžeme získat z příkazu „docker inspect“

Syntaxe:

$ docker inspect -f ‘{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ 

Příklad

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp
172.17.0.2
$

19) Vytvořte obrázek kontejneru Docker

Obrázek kontejneru Docker se sestavuje pomocí příkazu „docker build“, ale pro příkaz docker build musíme nejprve vytvořit soubor Dockerfile. Předpokládejme, že se soubor Dockerfile vytvoří ve složce mycode a poté spustíme následující příkaz k vytvoření obrázku dockeru,

$ cd mycode
$ docker build -t mynginx:v2 .

Přečtěte si také :Jak vytvořit obrázek Docker pomocí Dockerfile (krok za krokem)

20) Nastavte značku na obrázek Docker

Příkaz ‚docker tag‘ se používá k nastavení značky na obrázek.

Syntaxe:

$ docker tag source_image{:tag}  target_image{:tag}

Předpokládejme, že chci nastavit značku zdrojového obrázku ‚mariadb:latest‘ jako ‚mariadb:10.03‘

$ docker tag mariadb:latest mariadb:10.03
$ docker images | grep -i mariadb
mariadb 10.03 45a5a43e143a 3 days ago 410MB
mariadb latest 45a5a43e143a 3 days ago 410MB
$

Pokud si přejete nahrát obrázek do svého soukromého registru, označte obrázek tak, aby měl adresu URL registru následovanou projektem a obrázkem.

$ docker tag mariadb:latest myregistry:5000/db/mariadb:10.03

Nyní se přihlaste do svého soukromého registru pomocí příkazu „docker login“ a spusťte příkaz docker push, abyste jej nahráli.

$ docker push myregistry:5000/db/mariadb:10.03

To je z tohoto článku vše. Doufám, že pro vás byly tyto příklady informativní. Neváhejte se podělit o své dotazy a komentáře v níže uvedených sekcích komentářů.

Přečtěte si také :Jak vytvořit a používat síť MacVLAN v Dockeru


Docker
  1. 12 Užitečné příklady příkazů Wget v Linuxu

  2. Užitečné příklady příkazu Docker ps

  3. Příklady příkazů rm v Linuxu

  1. Příkaz ls v Linuxu:17 vysvětlení užitečných příkladů

  2. Příklady příkazů ps v Linuxu

  3. w Příklady příkazů v Linuxu

  1. 7 Příklady příkazů Linux df

  2. 8 Příklady příkazů Linux TR

  3. sa Příklady příkazů v Linuxu