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

Jak instalovat, spouštět a odstraňovat aplikace uvnitř kontejnerů Docker – část 2

Po předchozím Dockeru Tento tutoriál bude diskutovat o tom, jak uložit kontejner Docker do nového obrazu, odstranit kontejner a spustit Nginx webový server uvnitř kontejneru.

Požadavky

  • Jak nainstalovat Docker a spustit kontejnery v CentOS/RHEL 8/7 – část 1

Jak spustit a uložit kontejner Docker

1. V tomto příkladu spustíme a uložíme založené na Ubuntu Docker kontejner, kde je Nginx server bude nainstalován. Před provedením jakýchkoli změn v kontejneru však nejprve spusťte kontejner pomocí níže uvedených příkazů, které aktualizují a nainstalují Nginx démona do obrazu Ubuntu:

# docker run ubuntu bash -c "apt-get -y update" 
# docker run ubuntu bash -c "apt-get -y install nginx" 

Pokud se zobrazí chyba „E:Nelze najít balíček nginx ‘, pak se musíte připojit ke kontejneru s interaktivním CLI a nainstalovat nginx, jak je znázorněno.

# docker run -it ubuntu bash
# apt install nginx
# exit

2. Dále po Nginx je nainstalován balíček, zadejte příkaz docker ps -l získat ID nebo jméno běžícího kontejneru.

# docker ps -l

A aplikujte změny spuštěním níže uvedeného příkazu:

# docker commit 5976e4ae287c ubuntu-nginx

Zde 5976e4ae287c představuje kontejner ID a ubuntu-nginx představuje název nového obrázku, který byl uložen s potvrzenými změnami.

Chcete-li zjistit, zda byl nový obrázek úspěšně vytvořen, spusťte docker images a zobrazí se seznam všech uložených obrázků.

# docker images

Je pravděpodobné, že proces instalace uvnitř kontejneru skončí rychle, což vede k neběžícímu kontejneru (kontejner je zastaven). V tomto případě docker ps příkaz neukáže žádný výstup, protože není spuštěn žádný kontejner.

Aby bylo možné stále získat ID kontejneru, spusťte docker ps -a | head -3 pro výstup nejnovějších kontejnerů a identifikaci kontejneru na základě příkazu vydaného k vytvoření kontejneru a stavu opuštění.

3. Případně můžete aktivně zadávat relace kontejneru spuštěním docker run -it ubuntu bash a spusťte další apt-get install nginx příkaz. Zatímco je příkaz spuštěn, odpojte se od kontejneru pomocí Ctrl-p + Ctrl-q klíče a kontejner budou pokračovat v běhu, i když instalační proces Nginx skončí.

# docker run -it ubuntu bash
# apt-get install nginx

Poté pomocí docker ps získejte ID spuštěného kontejneru a provést změny. Po dokončení znovu přejděte do konzoly kontejneru pomocí docker attach a zadejte exit k zastavení kontejneru.

# docker ps
# docker attach 3378689f2069
# exit

4. Chcete-li dále otestovat, zda byl nedávný obrázek správně potvrzen (v tomto případě Nginx služba byla nainstalována), spusťte níže uvedený příkaz, abyste vygenerovali nový kontejner, který se zobrazí, pokud byl binární soubor Nginx úspěšně nainstalován:

# docker run ubuntu-nginx whereis nginx

5. K odstranění kontejneru použijte rm příkaz proti ID nebo názvu kontejneru, které lze získat pomocí docker ps -a příkaz:

# docker ps -a
# sudo docker rm 36488523933a

Jak spustit Nginx v kontejneru Docker

6. V této části se zaměříme na to, jak můžete spouštět a přistupovat k síťové službě, jako je Nginx webový server uvnitř Dockeru pomocí ubuntu-nginx obraz vytvořený dříve, kde byl nainstalován démon Nginx.

První věc, kterou musíte udělat, je vytvořit nový kontejner, namapovat porty hostitelského kontejneru a zadat shell kontejneru zadáním níže uvedeného příkazu:

# docker run -it -p 81:80 ubuntu-nginx /bin/bash
# nginx &

Zde je -p volba zpřístupní hostitelský port kontejnerovému portu. Zatímco hostitelský port může být libovolný s podmínkou, že by měl být dostupný (nesmí na něm naslouchat žádné jiné hostitelské služby), kontejnerový port musí být přesně ten port, kterému naslouchá vnitřní démon.

Jakmile se připojíte k relaci kontejneru, spusťte Nginx démona na pozadí a odpojte jej od kontejnerové konzoly stisknutím Ctrl-p + Ctrl-q klíče.

7. Nyní spusťte docker ps abyste získali stav vašeho běžícího kontejneru. Hostitelské síťové sokety můžete také zobrazit zadáním následujícího příkazu:

# docker ps
OR
# netstat -tlpn 

8. Chcete-li navštívit stránku obsluhovanou kontejnerem Nginx, otevřete prohlížeč ze vzdáleného umístění ve vaší síti LAN a zadejte IP adresu svého počítače pomocí protokolu HTTP.

9. Chcete-li kontejner zastavit, spusťte následující příkaz následovaný ID nebo názvem kontejneru:

# docker ps
# docker stop fervent_mccarthy
# docker ps

Alternativně k zastavení běžícího kontejneru zadejte příkazový řádek shellu kontejneru a dokončete proces zadáním příkazu exit:

# docker attach fervent_mccarthy
# exit

Uvědomte si, že použití tohoto druhu kontejneru ke spouštění webových serverů nebo jiných druhů služeb je nejvhodnější pouze pro vývojové účely nebo testy, protože služby jsou aktivní pouze tehdy, když je kontejner spuštěn. Opuštění kontejneru přeruší všechny spuštěné služby nebo jakékoli provedené změny.

Další čtení:

Část 3 :Automaticky vytvářejte a konfigurujte obrázky Docker pomocí Dockerfile na CentOS/RHEL 8/7Část 4 :Jak monitorovat Docker kontejnery v Linuxu
Docker
  1. Jak vytvářet, zobrazovat a mazat kontejnery Docker v systému Linux

  2. Jak spustit program uvnitř kontejneru Docker?

  3. Jak spustit úlohu cron uvnitř kontejneru dockeru

  1. Jak nainstalovat a nastavit Docker Container na Rocky Linux 8

  2. Jak nainstalovat Docker a nasadit LAMP Stack

  3. Jak spustit MySQL v kontejneru Docker

  1. Jak nainstalovat Vim do kontejneru Docker

  2. Jak vypsat Docker kontejnery

  3. Jak nainstalovat Docker a spustit kontejnery Docker v Ubuntu